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 imap, Short for Internet Message Access Protocol. This is another m...

Short for Internet Message Access Protocol. This is another most prevalent protocol of internet standard for email usage apart from POP. Usually all the modern email server and cli

D2D communication, I need to discuss with some one who expert in D2D commun...

I need to discuss with some one who expert in D2D communications in 5G networks.

Whcih is the routing metric used by rip, Routing Information Protocol (RIP)...

Routing Information Protocol (RIP) is a distance vector routing protocol that used hop count as its metric. The maximum hop count is 15, 16 hops are considered unreachable. RIP upd

Enable both arpa and snap encapsulation, You need to enable both arpa and s...

You need to enable both arpa and snap encapsulation on single router interface. How do you do this? Ans)Assign two network numbers, one for every encapsulation type.

Factor price, who are experts who lecter on factor price?

who are experts who lecter on factor price?

State the process of calculate the drift rate, State the process of calcula...

State the process of calculate the drift rate A drift rate of 10 -9 means 1 second in 109 seconds or 1 nsec every second. At OC-1 speed, say 50 Mbps for simplicity, a bit las

compute maximum current and properties of an ideal op-amp, Questions: ...

Questions: 1. A 5V Zener diode has a maximum power dissipation of 2W. What is the maximum current that can be safely passed through the device? 2. List three properties of a

Throughput, Throughput is a calculate of the rate at which data can be tran...

Throughput is a calculate of the rate at which data can be transmit through the network. The throughput capability of the underlying hardware is known bandwidth. Because every fram

Explain the concept of token passing, Token Passing S...

Token Passing Station is able to send only when it receives a special frame called a token Token circulates around the ring If station wishes to sen

Explain categorization according to instruction and data, Categorization ac...

Categorization according to kind of instruction and data According to types of instruction and data subsequent types are identified under this classification: Scalar Pi

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