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

Network Topology, What are the different types of network topologies

What are the different types of network topologies

Link layer process, Each link layer process will have two connections: one ...

Each link layer process will have two connections: one "up" to the appropriate IP layer process, and one "sideways" to the link layer process on the simulated machine at the other

State in brief about the information access intranet, State in brief about ...

State in brief about the Information Access Intranet This type of Intranet is the type commonly found on the World Wide Web. The static web page may include information on

Implementation of distributed systems, Distributed systems are composed of ...

Distributed systems are composed of a number of physically separate machines connected by one or more communication links. Unlike parallel systems, there's no shared clock or memor

Verify network connectivity- ccna, Verify Network Connectivity Step 1: ...

Verify Network Connectivity Step 1: Use the ping command to determine network connectivity. You can determine network connectivity using the ping command.  Note: If pings

Case study, Scenario: Your Case Study must be based on the information prov...

Scenario: Your Case Study must be based on the information provided. There will be no additional information. This must be submitted in a .doc, or .pdf format. If you send a few

Use of coaxial cable, Has a central core conductor covered in an insulating...

Has a central core conductor covered in an insulating sheath encased in an outer conductor of metal foil  RG numbers indicate physical specs such as thickness and type of insula

Access networks and physical media - computer network, Access Networks and ...

Access Networks and Physical Media Access  networks  are the  physical  links(S) that connect  an end  systems to its edge  router. Which  is the  first router on a path  fr

State about data and data files - information, State about data and data fi...

State about data and data files - Information The third and major component of the system liable to be attacked is the data and data files used by the company. It is the most s

What are the characteristics of client, What are the characteristics of Cli...

What are the characteristics of Client/Server? Service Encapsulation of services Shared resources Asymmetrical protocols Mix-and-match Transparency of location

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