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

Document the switch configuration- ccna, Document the Switch Configuration ...

Document the Switch Configuration When you have done your troubleshooting, capture the output of the show run command and save it to a text document for each switch.

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.

Substantial capital investments in new networks, Question: (a) How can...

Question: (a) How can governments provide the mobile industry with the long-term clarity and certainty it needs to make substantial capital investments in new networks? (b)

Discuss the interdependence of networking hardware, Discuss the interdepend...

Discuss the interdependence of networking hardware and software. Is it possible to have one without the other? Explain

State the specification of high-end server, State the specification of high...

State the specification of high-end server A mid-range or high-end server with the following specifications would be sufficient for a medium to large organisation: A Pentiu

Data and block distribution, Data Distribution Data distribution direct...

Data Distribution Data distribution directives tell the compiler how the program data is to be distributed between the memory areas associated with a set of processors. The log

Mips instruction - set and explain the restrict pipelining, 1.  Consider th...

1.  Consider these two potential additions to the MIPS instruction set and explain how they would restrict pipelining. a)  cp d1(r1), d2(r2) copy contents of word at address

What is beaconing, Normal 0 false false false EN-IN X...

Normal 0 false false false EN-IN X-NONE X-NONE MicrosoftInternetExplorer4

No retransmission - transport layer, No Retransmission This  protocols...

No Retransmission This  protocols  will not  through  the correctly received packets  but buffers than  and send  acknowledgment  for those packets. Thus  retransmission of th

What is a file server, File servers are useful for sharing files through a ...

File servers are useful for sharing files through a network. With a file server, the client passes requests for file records over network to file server

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