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

Write the purpose of split horizon, Split Horizon - If you attain a protoc...

Split Horizon - If you attain a protocol's route on an interface, do not send information about that route back out that interface.

Importance of reliability engineering, The progress of any industry and ind...

The progress of any industry and indeed countries as well, today is linked to the effective performance of its equipments, processes and systems. Reliability engineering, not only

What is the role of ieee in computer networking, What is the role of IEEE i...

What is the role of IEEE in computer networking? IEEE, or the Institute of Electrical and Electronics Engineers, is an organization composed of engineers that issues and manage

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.

Service paradigm, At the minimum level most networks sends individual packe...

At the minimum level most networks sends individual packets of data and the network needs each packet to follow an exact format dictated by the hardware, which is known service par

Determine the use of icon, Determine the use of Icon A small picture...

Determine the use of Icon A small picture or graphic used to represent a location in the inter- or Intranet (for example a flow-chart graphic to take the user to the departm

E-NRZ, A modified NRZ code known as enhanced-NRZ (E-NRZ) operates on 7-bit ...

A modified NRZ code known as enhanced-NRZ (E-NRZ) operates on 7-bit words; inverting bits 2,3,6 and 7; and adding one parity bit to each word. The parity bit is chosen to make the

What to do to connection with external communication, What to do to connect...

What to do to connection with external communication For dealing with external communication, the Web server must have a static IP. Having a static IP could also be a problemat

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