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

Hardware component used to store buffers, Recognize the hardware component ...

Recognize the hardware component used to store buffers, tables, running-configuration etc? Ans) RAM is the dynamic memory area. ROM have the boot strap code, NVRAM have the star

Explain hyper cube interconnection networks, Hyper Cube: A Hypercube inter...

Hyper Cube: A Hypercube interconnection network is an expansion of cube network. For n=3, Hypercube interconnection network may be described recursively in this manner:  For n

Explain the term- bits and bitmap, Explain teh term- Bits and Bitmap ...

Explain teh term- Bits and Bitmap Many tiny dots, which are put together to make a picture. Bits are combined to make a graphic image called a bitmap. GIF and JPEG files are

What is sonet sts, SONET STS SONET defines a hierarchy of signalling le...

SONET STS SONET defines a hierarchy of signalling levels called as STSs (Synchronous Transport Signals). Every STS level supports a certain data rate specified in megabits p

computer computinons, Difference between synchronous tdm and statistical t...

Difference between synchronous tdm and statistical tdm

Configure basic switch parameters- ccna, Configure basic switch parameters....

Configure basic switch parameters. Configure the S1, S2, and S3 switches according to the following guidelines: Configure the switch hostname. Disable DNS lookup.

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