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

Calculate the modulation index and find the bandwidth, Consider a signal x(...

Consider a signal x(t) = 10 cos(2πfct + 4 cos 2πfmt). Assume frequency modulation. The message frequency fm = 2:3 kHz. Calculate the modulation index and find the bandwidth when

Deteemine token bus of 802.3, Token Bus Physical order of stations ...

Token Bus Physical order of stations doesn't matter Line is broadcast medium "Send" token by addressing neighbour Provisions for deleting, adding stations

Explain the meaning of negotiation, Explain the meaning of Negotiation ...

Explain the meaning of Negotiation Negotiation is process of getting both sides to agree on some values or parameters to be used during communication. Maximum packet size is on

Compute shortest path, Compute the shortest path from t to all network node...

Compute the shortest path from t to all network nodes.

Define encoder, Define Encoder? A device or program that uses predefine...

Define Encoder? A device or program that uses predefined algorithms to encode, or compress audio or video data for storage or transmission use. A circuit that is used to change

Briefly describe nat and rip, Briefly describe NAT and RIP NAT is Netwo...

Briefly describe NAT and RIP NAT is Network Address Translation. This is a protocol that gives a way for multiple computers on a common network to share one connection to the I

Mesh, Mesh It is of two dimensional network.  In this every processi...

Mesh It is of two dimensional network.  In this every processing elements are arranged in a two dimensional grid. The processor are in rows i and column j are denoted by PEi

Determine the maximum output current, A logic gate drives a load, which has...

A logic gate drives a load, which has a resistance of 1 kÙ and a capacitance of 20 pF. The printed circuit track connecting the gate to its load has an 40 pF capacitance to ground.

Vpn technology - point to point , VPN Technology For an organization  ...

VPN Technology For an organization  VPN  technology  uses some main  techniques for privacy a.Encryption /Authentication b.Tunnelling c.Fire walls

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