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 rules for writing on the web? explain, Question 1 How can one...

Question 1 How can one set up internet on a PC and test it?? Explain Setting up a new connection Testing internet connection Question 2 What are the rules for wri

Off the shelf company, Draw a work breakdown structure (WBS) diagram for th...

Draw a work breakdown structure (WBS) diagram for the project, to show all the planned tasks. This WBS should contain at least two levels. b) Explain the main differences between

System analysis, explain the appropriateness of economic and behavioral fea...

explain the appropriateness of economic and behavioral feasibility

What is meant by symmentric multiprocessing, What is meant by Symmentric Mu...

What is meant by Symmentric Multiprocessing (SMP)? It treats all processors as equal. Any processor can do the work of any other processor. Applications are divided into thread

What is topology, Q. What is Topology? - Physical/logical arrangement ...

Q. What is Topology? - Physical/logical arrangement - Topology of a network is the geometric depiction of the relationship of all the links and linking devices to one anothe

Ospf - open shortest path first , OSPF ( open Shortest Path First) Open...

OSPF ( open Shortest Path First) Open shortest  path first  is a routing  protocols  developed for internet protocols networks by the  interior  gateway protocols working group

Role of software in intranet, Role of Software in Intranet For an Intr...

Role of Software in Intranet For an Intranet to be successful, it must have strong software support. In this section, a brief description of the operating system, groupware an

Residential access - computer network, Residential Access Residential ...

Residential Access Residential  access is connecting home  end  systems ( typically a PC but increasingly a home network) into the network. One form  of residential  access  i

Advantages of firewall, Firewall The NAT router allows receiving of num...

Firewall The NAT router allows receiving of number of a data streams. If it receives a transmission in the form of acknowledgement or data streams or error responses from an ex

State the list of protocols supported by the intranet, State the list of pr...

State the list of protocols supported by the Intranet The following is the list of protocols supported by the Intranet: ARP: Address resolution Protocol is used to resol

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