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

Which statement best defines access list placement, When using access lists...

When using access lists, it is important where those access lists are placed. Which Statement best defines access list placement Ans) Put standard access lists as near the desti

Define the term network throughput, Network throughput It is a symptoma...

Network throughput It is a symptomatic measure of the message carrying capability of a network. It is termed as the total number of messages network can send in per unit time.

What are the control frames for lost tokens, Control Frames for Lost Tokens...

Control Frames for Lost Tokens If station goes down ... token lost Predecessor listens for data frame or token Noticing none, retransmits token Sends whofoll

packing -unpacking data with parallel virtual machine , Packing and Unpack...

Packing and Unpacking Data pvm_packs - Pack the active message buffer with arrays of prescribed data type: int info = pvm_packf( const char *fmt, ... ) int info = pv

ppp error detection on cisco routers , Which form of PPP error detection o...

Which form of PPP error detection on Cisco routers monitors data dropped on a link?  Ans) The Quality protocol monitors data dropped on a link. Magic Number avoids frame looping

Determine in detail about the world wide web, Determine in detail about the...

Determine in detail about the world wide web The latest has been Web commerce that is currently making big news, and many businesses are setting up electronic shops on the Inte

Difference between latches and flip flops, What is the basic difference bet...

What is the basic difference between latches and flip flops? Ans) flip flops have clock signal whereas latches dont require anyclock pulse..

Ethernet fields, ETHERNET FIELDS:  In Ethernet fields the preamble and...

ETHERNET FIELDS:  In Ethernet fields the preamble and CRC is usually not given in frame. The destination address of each is the broadcast address. There is special value reser

Connection-oriented protocol, TCP is connection-oriented. Connection-orient...

TCP is connection-oriented. Connection-oriented is a kind of connection established between the source & destination machines before any data is sent that means a connection is est

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