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

State control frame - solicit successor, Control Frame: solicit_successor ...

Control Frame: solicit_successor Periodically ask for any station to link by sending solicit_successor Token with sender's addr and successor's addr wait 2 (as in

Data types in distributed enrollment protocol, Data Types Each data typ...

Data Types Each data type of Table 1 must be sent according to the specifications below. [INT] Each value of this type is sent as the string representation of the corre

Explain types of redundancy checks, Q. Explain Types of Redundancy Checks? ...

Q. Explain Types of Redundancy Checks? Parity Check Simple Parity Check Two Dimensional Parity Check / Longitudinal Redundancy Check (LRC) CRC (Cyclic Redund

Introduction-parallel algorithms, Introduction An algorithm is defined ...

Introduction An algorithm is defined as a series of computational steps required to accomplish an exact task. The algorithm works for a given input and will terminate in a well

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

Brdging between buildings, BRDGING BETWEEN BUILDINGS:  If two building...

BRDGING BETWEEN BUILDINGS:  If two buildings are placed far from each other, a bridge, a pair of fiber modems and an optical fiber may be used to locate two LANs as given in t

Direct isp service through leased line, The most expensive method of access...

The most expensive method of accessing the Internet is to employ leased lines that directly connect to the ISP. This will enhance access rate to anywhere between 64 K and 1.5 Mbps,

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