Sockets, Computer Networking

Assignment Help:

When programming a server or a client, we have to deal with port numbers and IP addresses, but we usually do this through an abstraction called a socket. Sockets are the standard API for network programming; they are the abstraction which we use to describe a connection, i.e. a duplex communication. The typical way of creating and using sockets, in C, is the following:

// Client side ------------------------------------------------------------

struct addrinfo *addr;

int fd = socket(AF_INET, SOCK_STREAM, 0); // fd is the socket's filehandle
getaddrinfo("www.cnn.com", "http", NULL, &addr); // converts hostname to IP address
connect(fd, addr->ai_addr, addr->ai_addrlen); // connect to remote host
send(fd, send_buf, len, 0); // now send then receive data
...
recv(fd, recv_buf, len, 0);

// Server side ------------------------------------------------------------

struct addrinfo *addr, *remote_addr;
int fd = socket(AF_INET, SOCK_STREAM, 0);

// fd is the socket's filehandle getaddrinfo(NULL, "http", NULL, &addr); // convert service to port number ("ht bind(fd, addr->ai_addr, addr->ai_addrlen); // bind socket to a particular port nu listen(fd, 1); // listen for connections. Second argument is # of allowable waiting

// Now accept connection on socket fd; when a connection comes in, we'll move it to int newfd = accept(fd, remote_addr->ai_addr, &(remote_addr->ai_addrlen));

// we process the accepted connection on newfd, with recv() and send(),

// and at the same time, we'll keep using fd to accept other incoming connections


Related Discussions:- Sockets

Packet switching, Suppose there are exactly five packet switches (Figure 4)...

Suppose there are exactly five packet switches (Figure 4) between a sending host and a receiving host connected by a virtual circuit line (shown as dotted line in figure 4). The tr

What is data representation, Q. What is Data Representation? Informatio...

Q. What is Data Representation? Information Today arrives in different forms such as numbers, text, images, audio and video. Text: Represented like a bit pattern a sequence

Show the class D and class E addresses, Q. Show the Class D and Class E Add...

Q. Show the Class D and Class E Addresses? Class D and Class E Addresses Class D - reserved for multicast addresses Multicasting - transmission method which allo

Cnet sliding window protocol, implementing cnet sliding window protocol wit...

implementing cnet sliding window protocol with 6 nodes

Explain a transaction server, With a transaction server, the client request...

With a transaction server, the client requests remote procedures that reside on the server with an SQL database engine. These remote processes on the server execute a group of SQL

Simple mail transfer protocoland secure sockets layer, Simple Mail Transfer...

Simple Mail Transfer Protocoland Secure Sockets Layer SMTP: Simple Mail Transfer Protocol is a server-to-server protocol for delivering electronic mail. SSL: Secure Sockets

Point-to-point message passing, In point-to-point message passing, single p...

In point-to-point message passing, single process sends/receives message to/from another process. There are four communication modes for sending a message: i)    Buffered mode

What is the frame, What is the Frame A presentation format, which en...

What is the Frame A presentation format, which enables Web page designers and users to mark a part of the screen for links to other pages. Frames usually appear on the left

What is a pointer and does java support pointers, What is a pointer and doe...

What is a pointer and does Java support pointers? Pointer is a reference handle to a memory location. Improper handling of pointers leads to memory leaks and reliability issues

Describe the depth penetration method for a crt, Question: (a) What do ...

Question: (a) What do you understand by the following terms related to LCDs: Reflective LCDs Backlit LCDs (b) By using an example, explain the main steps of the B

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd