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

Explain how the LAN model be developed, Explain how the lan model be develo...

Explain how the lan model be developed The LAN model can be developed incrementally. If LAN is just a long cable. it cannot be brought down by single failure (if servers are re

Process switching and fast switching, Process Switching It applies the...

Process Switching It applies the brute force method to switch packets wih consumption of large amount of CPU time List of items are needed when switching packets Routing

Discuss your strategy to test wlpc system, Wireless Phone Company (WLPC) is...

Wireless Phone Company (WLPC) is a provider of wireless phone service in the US with 100,000 customers serving mostly small markets. WLPC has just purchased additional airwaves in

Low frequency cut-off of the band-pass, Question Approximately what is ...

Question Approximately what is the low frequency cut-off of the band-pass filter shown in the figure?

What are the important benefits of computer network, Q. What are the import...

Q. What are the important benefits of computer network? Ans: Important benefits of computer networks are: -  Resource sharing -  Higher reliability -  Higher flexibili

Sequence number - transport layer, Sequence Number After  the bytes...

Sequence Number After  the bytes have been numbered TCP assigns a sequence number to each segment   that is  being sent. These sequence number for each segment  is the numb

Link state packet - network layer and routing , Link State Packet When ...

Link State Packet When  a router floods  the network  with information about its  neighbourhood. It is said to  be advertising. The basis of this  advertising is  a short  pack

Error detection in lrc, Error Detection- 2D/LRC Adds an additional...

Error Detection- 2D/LRC Adds an additional character (instead of a bit) A block of bits is prearranged in a table The Parity Bit for every data unit is calculate

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