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

Domain names and address resolution, However what if you don't know about t...

However what if you don't know about the IP address of the computer you wished to connect to? What if you have to access a web server referred to as www.abc.com? How does your web

What is error detection, What is Error Detection? What are its methods? ...

What is Error Detection? What are its methods? Data can be corrupted during transmission. For reliable communication errors must be deducted and corrected. Error Detection uses

Application layer , Normal 0 false false false EN-IN ...

Normal 0 false false false EN-IN X-NONE X-NONE Application Layer   The application  layer

What is a database server, With a database server, the client gives SQL req...

With a database server, the client gives SQL requests as messages to the database server. The results of every SQL command are returned over the network. The server uses its own pr

What is topology, Q. What is Topology? - Physical/logical arrangement ...

Q. What is Topology? - Physical/logical arrangement - Topology of a network is the geometric depiction of the relationship of all the links and linking devices to one anothe

Explain stop--and--wait automatic repeat request, Q. Explain Stop--and--Wai...

Q. Explain Stop--and--Wait automatic repeat request? 1. Numbering frames prevents the retaining off duplicate frames. 2. Numbered acknowledgement are needed in case of delay

Explain the structure of a typical ethernet frame, Question: (a) The IE...

Question: (a) The IEEE 802 series of standards describe both the Physical and Data Link layers of their respective technologies. Two important standards are 802.3 and 802.5, r

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

Access-list range for an extended ip access-list, Recognize the access-list...

Recognize the access-list range for an extended IP access-list? Ans) IP extended access-lists use the number range of 100-199.

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