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 reducing ineffective taxation, Question: (a) With mobile t...

Question: (a) With mobile telecommunications providing an important engine for growth, continuing to stimulate growth and to ensure mobiles remain affordable for all, will re

What are the categories of traditional ethernet, Categories of traditional ...

Categories of traditional Ethernet a)  Baseband - digital signals using Manchester encoding b) 10Base2, 10-Base-T, 10Base5, 10Base-FL c)  First number signifies data rate

Illustrate network layer in osi layers model, Q. Illustrate Network Layer i...

Q. Illustrate Network Layer in osi layers model? Network Layer :  This is responsible for addressing messages and data so they are sent to the required destination, and for tr

Define the term - handoff and dynamic configuration, Define the term - Hand...

Define the term - Handoff and Dynamic configuration Handoff/roaming  The MAC protocol used in the wireless LAN should enable mobile stations to move from one cell to anoth

Work-sharing constructs in openmp, Work-Sharing Constructs A work-shari...

Work-Sharing Constructs A work-sharing construct distributes the implementation of the associated region between the members of the team that encounters it. A work-sharing cons

What is internet, What is Internet? Internet is a collection of network...

What is Internet? Internet is a collection of networks or network of networks. Various networks like LAN and WAN connected by suitable hardware and software to work in a seamle

Program for two library methods with thread , #include void subdomain(...

#include void subdomain(float x[ ], int istart, int ipoints) { int i; for (i = 0; i x[istart+i] = 123.456; } void sub(float x[ 10000], int npoints) {

What is bia, Burn in Address other name is MAC address

Burn in Address other name is MAC address

What is meant by symmentric multiprocessing (smp), It treats all processors...

It treats all processors as equivalent. Any processor can do the work of any other processor. Applications are separated into threads that can run simultaneously on any available p

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