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

Determine 802.11a OFDM, 802.11a OFDM a) Orthogonal frequency-division m...

802.11a OFDM a) Orthogonal frequency-division multiplexing utilizing a 5-GHz band b) Same as FDM except all sub bands are used by only one source at a given time c)  Secu

Network and system administration, The goal of this assignment is to provid...

The goal of this assignment is to provide an exposure to Network and System Administration issues. For the project, you are required to design/configure/implement/test/review a Net

Configure VTP Pruning on the Switches- CCNA, Configure VTP Pruning on the S...

Configure VTP Pruning on the Switche s VTP pruning allows a VTP server to suppress IP broadcast traffic for particular VLANs to switches that do not have any ports in that VLAN.

Explain client and server networking model, Explain Client/Server Networkin...

Explain Client/Server Networking Model. A networking model where one or more powerful  computers (servers) give the dissimilar network services and all other user's computers (

Exam, i have an exam i need it to be solved

i have an exam i need it to be solved

Design the user interface for mode switching, Design the user interface for...

Design the user interface for mode switching and data entry any way that you like. For example, to switch an application from transmit mode to receive mode, you can give it special

Command Necessary to enter the extended ping command , Determine the comman...

Determine the command mode necessary to enter the extended ping command Ans) Router#

Multiplexing - fundamentals of networks, Multiplexing Multiplexing ...

Multiplexing Multiplexing is the set of techniques that allows simultaneous transmission of multiple signals across a single  data like. It  is methods  for efficient utiliza

Merit and drawback of mpi, Merits of MPI Runs on any shared or dist...

Merits of MPI Runs on any shared or distributed memory architectures; Can be used on a wider range of troubles than OpenMP; Every process has its own local variabl

INAB-426-, As• New Content (Week 5) o System Integration Implementation P...

As• New Content (Week 5) o System Integration Implementation Plan ? Develop a detailed implementation plan that captures the following (address 4 of these): ? Testing activitie

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