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

At which layer of the osi model repeaters work, At the Physical layer of ...

At the Physical layer of the OSI model Repeaters work by regenerating the signal to extend the distance it can travel.

Implement a transport layer protocol to transmit data, In this project, you...

In this project, you will implement a Transport Layer protocol to transmit data with Reliable Data Transfer from a client to a server in the presence of channel errors and loss. Th

Estimate of average delay deviation, Consider the procedure described for e...

Consider the procedure described for estimating average delay di. Suppose that u=0.1. Let r1-t1 be the most recent sample delay, let     r2 -t2 be the next most recent sample delay

Karnaugh map, Qustions: Simplify the following expression using a Karna...

Qustions: Simplify the following expression using a Karnaugh map: F = XY‾Z + X‾Y‾Z + XY Z +X‾ Y Z

Error correction - retransmission, When an error is discovered the receiver...

When an error is discovered the receiver is able to ask the sender to retransmit the entire data unit Error Correction-Forward Error Correction A receiver is able to u

Advantages and disadvantages of client-server method, 1. Write a critical a...

1. Write a critical analysis of the client/server vs. service architecture method for developing service architectures.  You must explain what the client/server method is in terms

Transport layer protocols , TCP (Transmission Control Protocol) and UDP are...

TCP (Transmission Control Protocol) and UDP are used by TCP/IP. SPX (Sequenced Packet Exchange) is used with IPX. NBP (Name Binding Protocol) is used with Appletalk.

Explanation of internetworking terms and concepts, Question: (a) Outlin...

Question: (a) Outline the main interactions that take place when a user requests a valid web resource in the Address Bar of a modern web client till the resource is eventually

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