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

Simplicity - transport layer, Simplicity The advantage of this approa...

Simplicity The advantage of this approach is the simplicity  of receiver buffering. The  receiver need not  buffer out of  order packets the sender must maintain the upper an

Prepare network schema of a company, Your Case Study must be based on the i...

Your Case Study must be based on the information provided. There will be no additional information. This must be submitted in a .doc, or .pdf format. If you send a few paragraphs i

Show the data encryption standard, Q. Show the Data Encryption Standard? ...

Q. Show the Data Encryption Standard? Data Encryption Standard - Bit-level encryption method designed by IBM - Adopted as standard for nonmilitary and nonclassified us

Explain the term- congestion, Explain the term- congestion The average ...

Explain the term- congestion The average queue size over the last cycle and the current cycle is calculated. This value is the threshold. By averaging over two cycles instead o

Straight through lan cable, Q. Straight through Lan Cable ? Straight t...

Q. Straight through Lan Cable ? Straight through Cable - Maintain the pin connection each the way through the cable. - The wire connected to pin 1 is the similar on bo

Name the two types of oltp, a) TP lite , based on stored procedures. b)...

a) TP lite , based on stored procedures. b) TP heavy , based on the TP monitors.

Circuit switched and packet-switched mode for sending a file, Two hosts are...

Two hosts are connected by a path made of four links as shown in the figure below. The links are of data rate R = 2 Mbps each. Host A has a file of size F = 1,000,000 bytes to tran

Determine the application areas of intranet, Determine the Application area...

Determine the Application areas of intranet The uses of an Intranet are only limited by imagination. Some of the larger sectors where the Intranet can be easily and success fu

Explain FDDI media access control, FDDI Media Access Control Unlike CSM...

FDDI Media Access Control Unlike CSMA/CD networks such like Ethernet token-passing networks are deterministic--you are able to calculate the maximum time that will pass before

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