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

Define firewall and its uses, Firewall is a device or a component that res...

Firewall is a device or a component that restricts access between a protected or an internal network from an external or untrustworthy network .A firewall basically limits unautho

What is smtp, What is SMTP? SMTP is short for Simple Mail Transfer Proto...

What is SMTP? SMTP is short for Simple Mail Transfer Protocol. This protocol deals with all internal mail, and gives the essential mail delivery services on the TCP/IP protocol

What is ipv6 addressing, QUESTION (a) What are the problems with IPv4 o...

QUESTION (a) What are the problems with IPv4 on today's Internet and how does IPv6 solve these problems? (b) Describe at least three ways in which IPv6 is more efficient tha

Switching creates variable latency through the switch, DEFINITION: Latency ...

DEFINITION: Latency = Delay. Because a store and forward switch reads the entire frame before forwarding, a larger frame takes longer than a shorter frame.

Modern computer , modern technology in world of 21 century

modern technology in world of 21 century

Explain in brief about router, Router Routing achieved commercially pop...

Router Routing achieved commercially popularity in the mid - 1980s - at a time when large-scale Internetworking began to change the fairly simple, homogeneous environments. Rou

Distinguish between network devices computers and servers, The School of Co...

The School of Computing is planning to deploy a new network structure to accommodate the following scenario. Please make suggestions on how this LAN can be designed based on the fl

Computer networks - fundamentals of networks , Computer Networks A com...

Computer Networks A computer  networks  can be defined as set of computer that  interact  among  the individual  computers sharing  resources or information. Reference models

Message passing libraries mpi and pvm, In this part, we shall talk about ab...

In this part, we shall talk about about message passing libraries. In history, various message passing libraries have been available since the 1980s. These executions differed subs

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