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

Issues with bridges connecting different lans, Issues with Bridges Connecti...

Issues with Bridges Connecting Different LANs - Frame format - differences in frame structure, fields used (example Ethernet to Token Ring) - Payload size - size of data en

Illustrate about OSI architecture, Explain ISO's OSI Architecture The O...

Explain ISO's OSI Architecture The Open System Interconnection (OSI) is a standard reference model for communication among two end users in a network. It is used in developing

Benefits of mpls vpn- wireless technology, 1) The school has implemented a ...

1) The school has implemented a pilot MPLS VPN which is being evaluated to replace the Bell South Frame Relay solution that provides connectivity to the Bascom Palmer Eye-Institute

Computer Networking help, Hello, I have a question which is due tomorrow (2...

Hello, I have a question which is due tomorrow (2/15/2013) at 11:55pm. The configuration portion of the exercise has been completed. I only need the questions in bold answered (onl

Layering and tcp/ip protocols, TCP/IP protocols are managed into five basic...

TCP/IP protocols are managed into five basic layers. Although some layers of the TCP/IP reference model related to layers of the ISO reference model, the ISO layers procedure does

Subnet/address mask, To use a subnet or classless address, table under rout...

To use a subnet or classless address, table under routers and hosts that have address must keep two pieces of information with every address: the 32-bit address itself and another

Design network, where can i find some informations about the subject and th...

where can i find some informations about the subject and the assignment is called Clotilde manufacturing group

Request to a server, If a client gives a 4096-byte request to a server loca...

If a client gives a 4096-byte request to a server located 50 km away on a 1 Gbps fiber optic, then what is the efficiency of the line during this time? Suppose that the server give

Responses - application layer, Responses Responses  are sent  from the...

Responses Responses  are sent  from the  server to the client. A responses is a three  digit code that  may be followed by additional textual information.

Firewall rules based on a fictitious organisation, Question 1 requires you ...

Question 1 requires you to develop firewall rules based on a fictitious organisation. Scenario: You work for a security-conscious company, xC-Cure, who develop encryption t

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