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 are the data link protocols, What are the Data link protocols? Dat...

What are the Data link protocols? Data link protocols are sets of specifications used to implement the data link layer. The categories of Data Link protocols are 1. Asynchro

Explain functions and protocols and services of each layer, Describe in pro...

Describe in proper details about OSI Model ? Explain the functions and protocols and services of each layer ?

The internet layer - fundamentals of networks, The Internet Layer The ...

The Internet Layer The  internet  layer is  responsible  for routing the data  packets  to the appropriate  destination. Internet protocol (IP) is responsible for ensuring dat

Control flow in distributed enrollment protocol , Control Flow: Once the c...

Control Flow: Once the client has established a network connection with a server, the server must instantiate a new, empty, BasicEnrollmentManager implementation for this client,

Bridges, BRIDGES:  A bridge is a hardware device also needed to connec...

BRIDGES:  A bridge is a hardware device also needed to connect two LAN code segments to extend a LAN. A bridge uses two NICs to connect two code segments. It listens to all tr

Comparing transport for tcp/ip and osi model, Q. Comparing Transport for TC...

Q. Comparing Transport for TCP/IP and osi model? - The features of TCP and UDP defined at TCP/IP Transport Layer correspond to many of the requirements of the OSI Transport Lay

What is crc and checksum, What is CRC and Checksum CRC (Cyclic redudan...

What is CRC and Checksum CRC (Cyclic redudancy check) CRC, is the most powerful of the redundancy checking methods, is based on binary division. Checksum Checksum

Explain the importance of authentication, Explain the importance of authent...

Explain the importance of authentication. Authentication is the method of verifying a user's credentials before he can log into the network. It is normally performed using a us

Tools for digital sound, Tools for Digital Sound Sound is the oscillat...

Tools for Digital Sound Sound is the oscillation of pressure that propagates in the form of a wave. Sound waves are transmitted through some medium (solid, liquid, or gas); th

Reliable data transfer - transport layer, Reliable Data Transfer Figur...

Reliable Data Transfer Figure illustrate the  framework for reliable  transfer. The service  abstraction provided  to the upper  layer  entities is that  of a reliable channel

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