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

Uneven load distribution, Uneven Load Distribution In the parallel com...

Uneven Load Distribution In the parallel computer, the problem is dividing into sub-problems and is assigned for computation to various processors. But sometimes the sub-probl

Ack received - trasnport layer, ACK Received If an ACK is received by ...

ACK Received If an ACK is received by the  sender. The  SR sender marks  that packet  as having  been received by the receiver.

Cidr presentation, Inside a device, every address mask is stored as a 32-bi...

Inside a device, every address mask is stored as a 32-bit number. When we submit a prefix and an address mask they use a changed form of dotted decimal addressing known CIDR addres

Determine the subnet with subnet prefix, Consider a subnet with subnet pref...

Consider a subnet with subnet prefix 101.101.101/24  a)  If you subdivide the subnet into four equal size subnets, what are their prefixes? Give all four prefixes in the form a.

Reference models - fundamentals of networks, Reference models Design...

Reference models Designing  implementing and  manufacturing  computer  networks  and related  devices  are very  complex  activities. Therefore in order  for this  technolog

What is the mac address, The address for a device as it is recognized at th...

The address for a device as it is recognized at the Media Access Control (MAC) layer in the network architecture. MAC address is usually stored in ROM on the network adapter card a

Determine the advantages of fast ethernet, Fast Ethernet Operates a...

Fast Ethernet Operates at 100 Mbps faster speeds required for image processing, CAD, real-time audio and video No change in frame addressing, format or access method

What are routers, What are routers? Routers work to connect two or more...

What are routers? Routers work to connect two or more network segments. These are the most intelligent network devices that store information in its routing table like paths, h

Write down the purpose of arp?, Address Resolution Protocol resolves the MA...

Address Resolution Protocol resolves the MAC address if the IP address is known. It is a layer 3 protocol.

Reliability - fundamentals of networks , Reliability Reliability  is t...

Reliability Reliability  is the measure of how  often  a network is usable. MTSF( Mean time  Between Failure) is a measure of the average time  a component  is expected to ope

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