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 is data link of osi model, Q. What is data link of osi model? - Th...

Q. What is data link of osi model? - The data link layer offers access to the networking media and physical transmission across the media and this enables the data to locate it

Header length - transport layer, Header  length This  field  speci...

Header  length This  field  specifies the  length of the TCP header  in 32 bit  words. This  information  allows  the receiver to know  the beginning of the data area becau

Metrics for performance evaluation, Metrics For Performance Evaluation ...

Metrics For Performance Evaluation In this section, we would highlight different kinds of metrics involved for analyzing the performance of parallel algorithms for parallel co

Define interconnection network, Interconnection Network An interconnect...

Interconnection Network An interconnection network is designed for transferring data between two processors in a Multi-stage network. Memory bottleneck is a fundamental limitat

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

Wireless access - computer network, Wireless Access Wireless access co...

Wireless Access Wireless access connecting end  systems ( that are often  mobile) into the network. Today there are two broad types  of wireless internet access(1) wireless an

Prototype Web Site for the Computer Superstores, Overview Create a proto...

Overview Create a prototype web site for the "Computer Superstores" company. Your site should use effective navigation features and demonstrate good structure for  accessibility

Write down the purpose of arp?, Address Resolution Protocol resolves the MA...

Address Resolution Protocol resolves the MAC address if the IP address is known. It is a layer 3 protocol.

Parts count method, PARTS COUNT METHOD This prediction method is appli...

PARTS COUNT METHOD This prediction method is applicable at preliminary stages, during bid proposal and early design phases; when insufficient information is available regardin

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