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

Explain about the digital traffic channels, Explain about the Digital traff...

Explain about the Digital traffic channels The most notable difference among the two generations is that first generation systems are almost purely analog, while second generat

What is message oriented middleware, What is Message Oriented Middleware (M...

What is Message Oriented Middleware (MOM)? MOM permits general purpose messages to be exchanged in a Client/Server system using message queues. Applications communicate over n

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

Determine sonet devices, Sonet Devices STS Mux or DMux either multiplex...

Sonet Devices STS Mux or DMux either multiplexes signals from multiple sources into an STS or demultiplexes an STS into different destination signals. Regenerator is a repea

Power supply system in satellite system, POWER SUPPLY SYSTEM IN  SATELLITE...

POWER SUPPLY SYSTEM IN  SATELLITE SYSTEM Satellite Earth Station relies on the public power supply system. Two generators (1+1) of 250 KVA each in parallel connection having fa

Multiple activity charts, A multiple activity chart records the related ...

A multiple activity chart records the related sequence of activities of more than one subject, men and / or machine on a common time scale showing the relationship between

What is the purpose of a default route, A default route is used if there is...

A default route is used if there is not a particular entry in the routing table for the destination.

Firewall architectures-dual homed host architecture, Dual Homed Host Archit...

Dual Homed Host Architecture This setup consists of a host machine with two or more IP addresses for each of its physical port. One port is connected to intranet and other to the

Advantages, What are advantages of having e-commerce over extranets

What are advantages of having e-commerce over extranets

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