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

Describe the concept of successor and feasible successor, Describe the conc...

Describe the concept of successor and feasible successor?

Network, network diagram which must include at least 2router,2bridge and 4 ...

network diagram which must include at least 2router,2bridge and 4 switches and must have different protocols and different cable...?

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

Explain about stored procedure, A stored procedure is a named collection of...

A stored procedure is a named collection of SQL statements and procedural logic that is compiled, verified and kept in a server database. It is typically treated like any other dat

Layers, Layers, Massages, Segments, Datagram's and Frames Figure 2.15 ...

Layers, Massages, Segments, Datagram's and Frames Figure 2.15 show the physical  path data takes down a  sending  end  systems  protocol  stack up and  down the  protocol stac

Command to copy the ios image to a tftp server, What is the command to copy...

What is the command to copy the IOS image to a TFTP server? Ans) Copy flash tftp

Discuss the architecture and applications of e-mail, Question 1 Discuss th...

Question 1 Discuss the following Switching Mechanisms- Circuit switching Message switching Packet switching   Question 2 Discuss the following IEEE standard

Evaluate error detection in crc polynomials, Q. Evaluate Error Detection in...

Q. Evaluate Error Detection in CRC Polynomials? The divisor in the CRC generator is most habitually represented as an algebraic Polynomial. Reasons: It is short

Describe the advantages of intranet to the organisation, Describe the advan...

Describe the advantages of Intranet to the organisation The most obvious advantage is that everyone with access to a computer terminal connected to the Intranet can obtain the

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