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

Subscriber database - computer network, Subscriber Database Core ne...

Subscriber Database Core network  also hosts  the subscribers  database ( for e, g HLR in GSM systems). Subscriber  database  is accessed by core  network  nodes fro  funct

Define the terms unicasting and multiccasting, Define the terms Unicasting,...

Define the terms Unicasting, Multiccasting and Broadcasting? If the message is sent from a source to a one destination node, it is called Unicasting. If the message is sent

Fixed version of rdt , Fixed version of rdt 2.0 rdt 2.1 The  rdt 2.1 s...

Fixed version of rdt 2.0 rdt 2.1 The  rdt 2.1 sender and receiver  FSM each now  have  twice  as many  states  as before. This is because  the protocols  state must  now refle

Purpose of the tcp three step handshakes, Identify the purpose of the TCP t...

Identify the purpose of the TCP three step handshakes Ans) The three step handshake establishes the parameters needed for a TCP connection. During the handshake process series n

Explain basic capabilities of mobile ip, Question: a) Describe the tria...

Question: a) Describe the triangular delivery and two crossing problem that appears in Mobile IP. b) Discovery, Registration and Tunneling are three basic capabilities of Mo

Use of infrared, Q. Use of Infrared? - Frequencies among 300 GHz and 4...

Q. Use of Infrared? - Frequencies among 300 GHz and 400 THz - Short-range communication - High frequencies can't penetrate walls - Necessitate line-of-sight propagati

Bandwidth allocation , Consider figure.  Assume a new flow E is added that ...

Consider figure.  Assume a new flow E is added that takes a path from R1 to R2 to R6. How does the max-min bandwidth allocation change for the 5 flows?

Metrics for performance evaluation, Metrics For Performance Evaluation ...

Metrics For Performance Evaluation In this section, we would highlight different kinds of metrics involved for analyzing the performance of parallel algorithms for parallel co

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