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

What is the last step in data encapsulation, The Five steps to data encapsu...

The Five steps to data encapsulation (IN ORDER): 1) User information is changed into data. 2) Data is changed into segments. 3) Segments are changed into datagram and pack

Discuss the benefits and requirements of voip, Question 1 Discuss the bene...

Question 1 Discuss the benefits and requirements of VOIP Question 2 Define the following Multicast routing protocol explain in detail with diagram Multicast backbone

State the fundamental principles of 3gpp security, Question : a) What ...

Question : a) What does association refer to in IEEE 802.11? b) State the fundamental principles of 3GPP security. c) Explain the term "binding" in Mobile IPv6 d)

Explain logical ring physical star topology, Explain Logical Ring Physical ...

Explain Logical Ring Physical Star topology for Token-Passing Standard. It is definite that any break in the ring at any point will interrupt communications for all machines.

Subnet masking and designing small networks, The hotel has a class C public...

The hotel has a class C public address space. The network number is 203.220.72.0/24. The hotel provides a number of eatery, office, accommodation and conference like services. This

Determine the window positions for succession of events, Two neighbouring n...

Two neighbouring nodes (A and B) use a Go-Back-N protocol with a 3-bit sequence number and a window size of 4. Acknowledgments are cumulative. Assuming A is transmitting and B is r

What are the bridges, Bridges - Operate in both physical and data link ...

Bridges - Operate in both physical and data link layers - Utilized to divide a network into smaller segments - May as well relay frames between separate LANs - Keeps t

How many cycles are lost for instruction accessing memory, 1.  A computer s...

1.  A computer system has a two-level memory cache hierarchy. The L1 cache has a zero hit penalty, a miss penalty of 5 ns and a hit rate of 95 percent. The L2 cache has a miss pena

Bit stuffing, bit stuffing program in python

bit stuffing program in python

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