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

Discuss about the latest internet and intranet technologies, Latest Interne...

Latest Internet and Intranet technologies Even though the security capabilities of the latest Internet and Intranet technologies have enabled the companies to control the avail

Reliable data transfer over a channel bit error rdt : 20, Reliable  data...

Reliable  data  transfer over a channel bit error  rdt : 20 A more realist model  of the underlying  channel  is one  in which  bits in packet may be  computed. Such  bit erro

Determine the level of fibre channel standard, Determine the level of Fibre...

Determine the level of Fibre Channel standard The Fibre Channel standard is organized into five levels: FC-0: The Physical Interface and Media Level handles a variety of phy

Networking, discuss the interdependence of workstation hardware with releva...

discuss the interdependence of workstation hardware with relevant software

Discuss the interdependence of networking hardware, Discuss the interdepend...

Discuss the interdependence of networking hardware and software. Is it possible to have one without the other? Explain

Connectionless multiplexing and de multiplexing, Connectionless Multiplexi...

Connectionless Multiplexing  and De multiplexing Java program running in a host can create a UDP socket  with the  line Datagram's socket my socket =  new datagram's socket

Explain parallel computer architecture, Parallel Computer Architecture ...

Parallel Computer Architecture The two key parametric concerns in designing parallel computer architecture are: 1) executing many numbers of instructions concurrently, and

Explain tree interconnection network, Tree interconnection network:   In tr...

Tree interconnection network:   In tree interconnection network, processors are organised in a complete binary tree pattern. Figure: Tree interconnection network

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