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

Hardware difficulty of benz network, Hardware difficulty of Benz Network: -...

Hardware difficulty of Benz Network: - Benz network uses smaller switches and it gives excellent connectivity.  To find hardware difficulty of Benz network let us presume that

Data alignment in processor arrangements, Data Alignment Arrays are ali...

Data Alignment Arrays are aligned to templates by the ALIGN directive. The ALIGN directive is used to align elements of different arrays with each other, indicating that they s

computer computinons, Difference between synchronous tdm and statistical t...

Difference between synchronous tdm and statistical tdm

Disadvantages of fiber optics, Disadvantages of Fiber Optics - Install...

Disadvantages of Fiber Optics - Installation/maintenance - Unidirectional - Cost

Show ethernet media standard, Q. Show Ethernet Media standard? - The ca...

Q. Show Ethernet Media standard? - The cables and connector specifications utilized to support Ethernet implementations are derived from the EIA/TIA (Electronic Industries Asso

Difficulties in internetwork communication, Q. Difficulties in Internetwork...

Q. Difficulties in Internetwork Communication? - Data arrive at interface f1 of s1 - How does s1 know that they must be sent out from interface f3? - There is no provisio

What is subnet mask, What is subnet mask? A subnet mask is combined wit...

What is subnet mask? A subnet mask is combined with an IP address in order to recognize two parts: the extended network address and the host address. Such as an IP address, a s

Explain the structure of a typical ethernet frame, Question: (a) The IE...

Question: (a) The IEEE 802 series of standards describe both the Physical and Data Link layers of their respective technologies. Two important standards are 802.3 and 802.5, r

Routing through an internetwork, Which layer is responsible for routing by ...

Which layer is responsible for routing by an internetwork Ans) The Network layer is responsible for routing. This is the primary job of routers, which handle at the Network laye

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