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

When would we use isdn, We use IDSN supports high speed voice, data and vid...

We use IDSN supports high speed voice, data and video and is a good choice for many small businesses.

Define the non-blocking and blocking network, Non-Blocking and Blocking net...

Non-Blocking and Blocking network In Non-blocking networks, route from a free input node to another free output node can forever be provided. Crossbar is an illustration of non

Traffic light is an example of what type of mechanism, Illustrate a traffic...

Illustrate a traffic light is an example of what type of mechanism Ans) A Traffic light is an example of flow control.

What do you understand by the term lan, Question: (a) What do you mean...

Question: (a) What do you meant by the term ‘LAN'? How is a LAN different from a WAN? (b) Explain three types of cables which are commonly used with LANs. (c) Three com

Communication protocol - internet protocol, The Internet protocol mentions ...

The Internet protocol mentions the rules that describe the details of how computers communicate. It exactly mentions how a packet should be formed & how a router should forward eac

Physical media - computer network, Physical Media In order  to define ...

Physical Media In order  to define what is meant by a physical medium let us reflect on the brief life of a bit. Consider  a bit travelling from one end system through a serie

Ajax, Ajax is a relatively new set of techniques that, in a sense, implemen...

Ajax is a relatively new set of techniques that, in a sense, implement some of the functionalities originally provided by RPC. Ajax is primarily used to build web applications with

Describe the term - license-free operation, Describe the term - License-fre...

Describe the term - License-free operation Users would prefer to buy and operate wireless LAN products without having to secure a license for the frequency band used by the LAN

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