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

Show ethernet media standard, Q. Show Ethernet Media standard? - The ca...

Q. Show Ethernet Media standard? - The cables and connector specifications utilized to support Ethernet implementations are derived from the EIA/TIA (Electronic Industries Asso

What security risks present on the networks, Security risks present on the ...

Security risks present on the networks Lots of risks are present everywhere on Internet as well as on Intranet, if it is not known what is being done. Every day a number of

Tcp – numbering bytes, Q. TCP – numbering bytes? Numbering is utili...

Q. TCP – numbering bytes? Numbering is utilized for flow & error control Segments aren't numbered only bytes Full-duplex connection - numbering is independent in

Distance vector multicast routing protocol, DVMRP • Distance vector mu...

DVMRP • Distance vector multicast routing protocol: Distance vector multicast routing protocol are abbreviated as DVMRP. These protocols are suitable for small networks which

Difference among symmetric and asymmetric cryptosystem, what's the differen...

what's the difference among Symmetric and Asymmetric cryptosystem?

What is meant by transparency, Transparency really means adumbrating the ne...

Transparency really means adumbrating the network and its servers from the users and even the application programmers.

What is uniform delivery time, What is uniform delivery time A uniform ...

What is uniform delivery time A uniform delivery time is required for voice, so amount of jitter in net- work is significant. This could be expressed as standard deviation of d

Create a wireless can, You are the network administrator for the City of Jo...

You are the network administrator for the City of Joshua Texas. The city government offices are located in five buildings separated by a State Highway controlled by the State of Te

Why routine security audits are essential, Why Routine security audits are ...

Why Routine security audits are essential It is essential that regular security audits are conducted to find out physically which computer is connected and permits access to

Types of ends in wan, There are two types of ends in WAN (1)DTE (DATA TE...

There are two types of ends in WAN (1)DTE (DATA TERMINAL EQUIPMENT) (2)DCE(DATA COMMUNICATION EQUIPMENT)

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