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

Explain design issues of interconnection network, Design Issues Of Intercon...

Design Issues Of Interconnection Network Below are the issues, which must be considered when designing an interconnection network. 1)  Size and Dimension of network:  It m

Categories to access the intranet, Categories to access the Intranet P...

Categories to access the Intranet Persons who can find access to the Intranet can be put into three categories. 1.  Those who can enter the site 2.  Those who can access

Explain point-to-point connection type, Explain Point-to-Point connection t...

Explain Point-to-Point connection type. Many point-to-point connections are associated with modems and PSTN (Public Switched Telephone Network) communications.

Barters, What is a OSI layer 2 device called a "barter"?

What is a OSI layer 2 device called a "barter"?

What is a pointer and does java support pointers, What is a pointer and doe...

What is a pointer and does Java support pointers? Pointer is a reference handle to a memory location. Improper handling of pointers leads to memory leaks and reliability issues

What is the client side of applications, What is the client side of applica...

What is the client side of applications To build the client side of applications, developers use various tools. Some of the popular software development environments include Vi

What is meant by asymmetric multiprocessing, What is meant by Asymmetric Mu...

What is meant by Asymmetric Multiprocessing (AMP)? It imposes hierarchy and a division of labor between processors. Only one designated processor, the master, controls (in a ti

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

State the network environment of intranets and internet, State the Network ...

State the Network environment of Intranets and Internet Intranets as well as the Internet are based purely on networks, the company intending to install Intranet must consider

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