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

Computes their distance vector for network, Consider the following network ...

Consider the following network example. Suppose that the distance vector (DV) routing algorithm is used to compute the distance between nodes. (a) Show the procedure of nod

Data structures for parallel algorithms, To execute any algorithm, selectio...

To execute any algorithm, selection of a proper data structure is very crucial. A particular operation may be executed with a data structure in a smaller time but it may have a ver

Explain about the integrating intranet, Explain about the Integrating Intra...

Explain about the Integrating Intranet These Intranets are designed to replace the complexity of in-house communications and processing systems that large organisations ofte

Determine the subnet with subnet prefix, Consider a subnet with subnet pref...

Consider a subnet with subnet prefix 101.101.101/24  a)  If you subdivide the subnet into four equal size subnets, what are their prefixes? Give all four prefixes in the form a.

Show the tcp/ip and osi similarities, Q. Show the TCP/IP and OSI Similariti...

Q. Show the TCP/IP and OSI Similarities? TCP/IP and OSI Similarities - Both have Layers - Both have Application Layers - Have Comparable Transport and Network Layer

Describe asynchronous vs. synchronous transmission, Serialized data is not ...

Serialized data is not generally sent at a uniform rate by a channel. Instead, there is usually a burst of regularly spaced binary data bits followed by a pause, after which the da

What is piggy backing, What is Piggy Backing? A process called piggybac...

What is Piggy Backing? A process called piggybacking is used to get better the efficiency of the bidirectional protocols. When a frame is carrying data from A to B, it can also

Light sources and connectors, - Light source is LED (light-emitting diode) ...

- Light source is LED (light-emitting diode) or a laser - LEDs are cheaper however not as precise (unfocused) limited to short-distance use - Lasers is able to have a narrow

State the software requirement for an intranet, State the Software requir...

State the Software requirement for an intranet To develop an Intranet the first we should design a Client /Server model for our network. As you know clients are the computers

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