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

Iso - organization for standardization, - The ISO (International Organisati...

- The ISO (International Organisation for Standardisation) is an International standards organisation responsible for a wide range of standards including many that are relevant to

What are called fat clients and fat servers, What are called Fat clients an...

What are called Fat clients and Fat servers? If the bulk of the application runs on the Client side, then it is Fat clients. It is used for decision support and personal softwa

Explain the characteristics of mobile computing applications, Question : ...

Question : a) In your view, what are the top three strengths and weaknesses of wireless systems? Rank them in order of priority. What can be done to address the weaknesses?

What is the main purpose of ospf, What is the main purpose of OSPF? OSP...

What is the main purpose of OSPF? OSPF, or Open Shortest Path First, is a link-state routing protocol that uses routing tables to verify the best possible path for data exchang

Ppp authentication chap pap secret, As the system administrator, you type "...

As the system administrator, you type "ppp authentication chap pap secret". Name the authentication method is used first in setting up a session? Ans)  the authentication method

What are the routing techniques, Q. What are the Routing Techniques? R...

Q. What are the Routing Techniques? Routing Routing Techniques Static versus Dynamic Routing Routing Table for classful Addressing Routing Table for Cl

Root dns servers - application layer , Root DNS Servers A root  server...

Root DNS Servers A root  server is a serve which  consists of the entire  hierarchy  of servers. A root  server  usually  does not  store any  information  about  domains  but

Network, do you do paraphrase

do you do paraphrase

Describe osi routing architecture, Q. Describe OSI Routing Architecture? ...

Q. Describe OSI Routing Architecture? End systems (ESs) as well as intermediate systems (ISs) use routing protocols to distribute (-advertise?) some or all of the informati

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