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

Internet backbone - computer network, Internet Backbone Internet backb...

Internet Backbone Internet backbone  is the  physical  networks ( usually relying  on fiber optic  cable ) that  carries  internet  traffic between  different  networks  and i

Define topologies other than basic topologies, What are the popular topolog...

What are the popular topologies other than basic Topologies? Apart from basic topologies some other topologies worth considering are: mesh topology (each device linked to all o

Coaxial Cable - computer network, Coaxial Cable Coaxial  cable  carrie...

Coaxial Cable Coaxial  cable  carries signals  of higher  frequency ranges than those in twisted pair cable. In part  because the two media are constructed quite  differently.

Show the error correction by hamming code, Q. Show the Error Correction by ...

Q. Show the Error Correction by Hamming Code? Hamming Code is able to be applied to data units of any length and uses the relationship between data and redundancy bits For i

Metrics are used by routing protocols, What metrics are used by routing pro...

What metrics are used by routing protocols to verify the best path?

Explain about horn antenna, Q. Explain about Horn Antenna? - Outgoing t...

Q. Explain about Horn Antenna? - Outgoing transmissions broadcast by a stem and deflected outward - Received transmissions collect by a scooped part of the horn and deflecte

Computing shortest path in a graph, While calculating shortest path, first ...

While calculating shortest path, first we assume graph presentation of network at every node then we use Djikstra's algorithm to calculate shortest path from every node to other on

Describe unbound transmission media, Describe unbound transmission media. ...

Describe unbound transmission media. Unbound transmission media are the media of transmitting data without using any cables. These are not bounded by any physical geography. Ex

What is a dedicated server, What is a dedicated server? A network serve...

What is a dedicated server? A network server designated to provide one particular service is known as dedicated server. For example if a computer is assigned for database servi

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