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

Define the terms unicasting and multiccasting, Define the terms Unicasting,...

Define the terms Unicasting, Multiccasting and Broadcasting? If the message is sent from a source to a one destination node, it is called Unicasting. If the message is sent

User server interaction - application layer , User Server Interaction ...

User Server Interaction Cookies of the world  wide  web  was originally designed  as a stateess entity. A client  sends a request and the server responds. Their  relationship

System analysis, explain the appropriateness of economic and behavioral fea...

explain the appropriateness of economic and behavioral feasibility

What do you mean by auto-reconfiguration, What do you mean by Beaconing an...

What do you mean by Beaconing and Auto-Reconfiguration? When a station does not receive a message from its nearest active upstream neighbor, it sends out a warning, otherwise c

Calculate the efficiency of stop-and-wait ARQ, Suppose that frames are 1250...

Suppose that frames are 1250 bytes long including 25 bytes of overhead. Also assume that ACK frames are 25 bytes long. Calculate the efficiency of stop-and-wait ARQ (a) Transmits a

Distributed system, You should develop a system consisting of an applicatio...

You should develop a system consisting of an application acting as a broker and several agents that need to communicate between them. The agents can only communicate in pairs (i.e.

Show the ip address representation, Q. Show the IP Address Representation? ...

Q. Show the IP Address Representation? IP Addressing IP Address Representation Binary notation - IP address is displayed as 32 bits Dotted-decimal notation -

Introduction to performance evaluations, INTRODUCTION In this part, th...

INTRODUCTION In this part, the topic of performance evaluation shows those parameters that are devised to calculate the performances of various parallel systems. Achieving the

Post office protocols version - application layer, Post Office  Protocols ...

Post Office  Protocols Version In computing  the post office protocol  version 3 (POP3) is an  application layer internet standard  protocols  used by  local e mail  clients

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