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

Typical functional units of the client/server applications, What are the mo...

What are the most typical functional units of the Client/Server applications? Ans) typical functional units of the Client/Server applications User interface Business Logic

Define the difference among trusted and untrusted networks, Can you define ...

Can you define the difference among trusted and untrusted networks?

Describe in detail how rsvp actually works, Normal 0 false fa...

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

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?

What are the communication tools, What are the Communication tools ? Voic...

What are the Communication tools ? Voice mail ? Email ? Fax ? Video conferencing applications

Parts count method, PARTS COUNT METHOD This prediction method is appli...

PARTS COUNT METHOD This prediction method is applicable at preliminary stages, during bid proposal and early design phases; when insufficient information is available regardin

How two adjacent layers communicate in a layered network, How two adjacent ...

How two adjacent layers communicate in a layered network? (or What do you mean by Service Access Point?) In layered network, each layer has lots of entities and entities of lay

Ospf - open shortest path first , OSPF ( open Shortest Path First) Open...

OSPF ( open Shortest Path First) Open shortest  path first  is a routing  protocols  developed for internet protocols networks by the  interior  gateway protocols working group

Data bandwidth requirements, Calculate data bandwidth requirements from and...

Calculate data bandwidth requirements from and to each site.

What is error detection, What is Error Detection? What are its methods? ...

What is Error Detection? What are its methods? Data can be corrupted during transmission. For reliable communication errors must be deducted and corrected. Error Detection uses

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