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

Network problems, Network Problems Q1  Consider the single-sender CDM...

Network Problems Q1  Consider the single-sender CDMA example in Kurose & Ross. What would be the sender's output (for the 2 data bits shown), if the sender's CDMA code were (

Explain fat tree interconnection network, Fat tree: It is a customized ver...

Fat tree: It is a customized version of tree network. In this network bandwidth of edge (or connecting wire between nodes) increases in the direction of root. It's a more realisti

Example of wan technologies, Some multiple WAN methods are defined below: ...

Some multiple WAN methods are defined below: ARPANET: It start in 1960's. It was operated by Advanced Research Project Agency, which is a company of US defense department.

What is the purpose of configuration files for servers, Question 1: a) ...

Question 1: a) Give three examples of Shells in Linux. b) Differentiate between the Join command and the Paste command in Linux, use an example to support your answer.

Network, do you do paraphrase

do you do paraphrase

Presentation layer of osi reference model, Q. Presentation layer of osi ref...

Q. Presentation layer of osi reference model? - The presentation layer makes sure that the information that the application layer of one system sends out is readable by the app

What is the attenuation, In communication weakening or loss of signal energ...

In communication weakening or loss of signal energy, typically caused by distance

Mention and explain 16 bit, Mention and explain 16 bit, basic programmable ...

Mention and explain 16 bit, basic programmable registers in 8086 operated in real mode?

Configure the logical topology- ccna, Configure the Logical Topology S...

Configure the Logical Topology Step: Configure the host computers. Configure the static IP address, subnet mask, and gateway for every host computer.  Note: The followi

Define encoder, Define Encoder? A device or program that uses predefine...

Define Encoder? A device or program that uses predefined algorithms to encode, or compress audio or video data for storage or transmission use. A circuit that is used to change

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