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

Characteristics of udp, UDP sends packets 'blind' down the network, and rel...

UDP sends packets 'blind' down the network, and relies on upper-layer protocols to form connections and identify errors. TCP is a connection-oriented protocol that can give reliabl

Determine the major advantages of ring topology, Point out the major advant...

Point out the major advantages of Ring Topology. The benefits of ring topologies are: a. They are very simple to troubleshoot because every device incorporates a repeater.

What is round trip time, What is Round Trip Time? The duration of time ...

What is Round Trip Time? The duration of time it takes to send a message from one end of a network to the other and back, is known as RTT.

Differentiate between fast fading and slow fading, Differentiate between Fa...

Differentiate between Fast fading and Slow fading Fast fading refers to changes in signal strength among a transmitter and receiver as the distance among the two changes by a s

Tp-lite and tp-heavy monitors, What are TP-Lite and TP-Heavy Monitors? A...

What are TP-Lite and TP-Heavy Monitors? Ans) TP-Lite is simply the integration of TP Monitor functions in the database engines.TP-Heavy are TP Monitors which handles the Client/

Top level domain servers, TOP Level Domain  (TLD) Servers These  serve...

TOP Level Domain  (TLD) Servers These  servers are responsible  for top  level  domains such  as com org net edu, and  going  and all  the country  top level  domains  such  a

Describe in detail with example how data fragmentation works, Describe in d...

Describe in detail with example how data fragmentation works?

Describe one security measure against reverse tunneling, Question: a) I...

Question: a) In route-optimized communication, a mobile node sends packets to a correspondent using the home address present in the destination option. Why does the design use

Explain mesh interconnection networks, Mesh : This is two dimensional netwo...

Mesh : This is two dimensional networks.  In this all processing elements are organised in a two dimensional grid. The processor in the row i and column j are indicated by PE i .

Illustrate transport layer responsibilities, Q. Illustrate Transport Layer ...

Q. Illustrate Transport Layer Responsibilities ? - Process-to-process delivery of whole message - Port addressing - Segmentation and reassembly - Connection control co

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