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 disadvantage of a star topology, What is the disadvantage of a ...

What is the disadvantage of a star topology? One major drawbacks of star topology is that once the central hub or switch get damaged, the whole network becomes unusable.

Explain ibms sna architecture, Explain IBM's SNA Architecture SNA is a ...

Explain IBM's SNA Architecture SNA is a computer networking architecture that was formed by IBM to give a network structure for IBM mainframe, midrange, and personal computer s

Lan- wan network module expansion slot, WAN interface card(WIC) slots T...

WAN interface card(WIC) slots Two fixed WIC slots are present in  2600 series router except 2691. It has contained 3 WIC slots. Network Module Expansion Slot( NM) slot

What are the drawbacks of arcnet, What are the drawbacks of ARCNet? Her...

What are the drawbacks of ARCNet? Here are some drawbacks of ARCNet: 1.  Standard ARCNet is very slow (2.5 Mb/s). It is almost seven times slower than Token Ring. 2.  ARC

What do mean by tunnel mode, What do mean by tunnel mode? This is a mod...

What do mean by tunnel mode? This is a mode of data exchange wherein two communicating computers do not use IPSec themselves. Instead, the gateway that is linking their LANs to

Define routing, Define Routing? The process of determining systematical...

Define Routing? The process of determining systematically hoe to forward messages toward the destination nodes based on its address is known as routing.

What is tcp/ip, What is TCP/IP TCP/IP is short for Transmission Control...

What is TCP/IP TCP/IP is short for Transmission Control Protocol / Internet Protocol. This is a set of protocol layers that is intended to make data exchange possible on dissim

What is uniform resource locator, What is Uniform Resource Locator A...

What is Uniform Resource Locator Address of location for accessing Web pages. Clicking on an icon or "hot text" is the most common means of accessing and using a URL. Typing

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