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

Ipv6 - network layer and routing , IPv6 The  internet  engineering task...

IPv6 The  internet  engineering task force begin  the effort to develop a successor  protocols  to IPv4 in the early  1990 is an internet  layer protocols  for packet  switched

Find the appropriate layer of the OSI or hub, • This device creates one big...

• This device creates one big collision domain and one large broadcast domain.

Process switching and fast switching, Process Switching It applies the...

Process Switching It applies the brute force method to switch packets wih consumption of large amount of CPU time List of items are needed when switching packets Routing

Substantial capital investments in new networks, Question: (a) How can...

Question: (a) How can governments provide the mobile industry with the long-term clarity and certainty it needs to make substantial capital investments in new networks? (b)

Layers, what are the layers covered under end to end later connectivity?

what are the layers covered under end to end later connectivity?

State the benefits of infrared light, State the benefits of Infrared light ...

State the benefits of Infrared light Infrared light does not penetrate walls or other opaque objects. This has two benefits: First, infrared communications can be more simply

Explain about the browser, Explain about the Browser A program that ...

Explain about the Browser A program that allows the user to access and read information on the World Wide Web. Netscape® Navigator and Microsoft Explorer® are the best known

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