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

What is sonet sts, SONET STS SONET defines a hierarchy of signalling le...

SONET STS SONET defines a hierarchy of signalling levels called as STSs (Synchronous Transport Signals). Every STS level supports a certain data rate specified in megabits p

What is the function of the osi session layer, What is the function of the ...

What is the function of the OSI Session Layer? This layer gives the protocols and means for two devices on the network to communicate with each other by holding a session.  Thi

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

Explain multipoint connection, Explain multipoint connection. A multipo...

Explain multipoint connection. A multipoint connection is a link among three or more devices. Historically, multipoint connections were used to attach central CPs to distribute

Internetworking, In spite of the incompatibilities among networks, research...

In spite of the incompatibilities among networks, researchers have devised a function that gives universal service among heterogeneous networks known 'internetworking'. It uses bot

What is star topology, Star Topology   Devoted point-to-point links to...

Star Topology   Devoted point-to-point links to central controller (hub)   Controller acts like exchange   Advantages - Less expensive - Robustness   Disadv

Determine the value of slow start threshold, Assuming that TCP Reno is used...

Assuming that TCP Reno is used, consider the following diagram illustrating the behaviour of congestion window, and answer the questions below. a)  What was the value of sl

Bridges, BRIDGES:  A bridge is a hardware device also needed to connec...

BRIDGES:  A bridge is a hardware device also needed to connect two LAN code segments to extend a LAN. A bridge uses two NICs to connect two code segments. It listens to all tr

What is transmission control protocol, Q. What is Transmission Control Prot...

Q. What is Transmission Control Protocol? Transmission Control Protocol TCP Services - Stream delivery service Permits the sending process to deliver data as a stream

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