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

Explain about the database management intranet, Explain about the Database ...

Explain about the Database Management Intranet This type of Intranet provides everyone in an organisation with the capability to maintain a "real-time" interactive database.

Define routing, Define Routing? The process of determining systematical...

Define Routing? The process of determining systematically hoe to forward messages toward the destination nodes based on its address is known as routing.

Layer on which layer does l2f, Write the layer on which layer does L2F, PPT...

Write the layer on which layer does L2F, PPTP and L2TP operate?

Network, What are the advantages of logging more information to the alerts ...

What are the advantages of logging more information to the alerts filestion #Minimum 100 words accepted#

Troubleshooting tcp/ip, I''m having trouble with understanding a diagram fo...

I''m having trouble with understanding a diagram for my assignment

Ospf - open shortest path first , OSPF ( open Shortest Path First) Open...

OSPF ( open Shortest Path First) Open shortest  path first  is a routing  protocols  developed for internet protocols networks by the  interior  gateway protocols working group

State in brief about the local area network, State in brief about the Local...

State in brief about the Local Area Network (LAN) LAN is an interconnection of computers and associated peripherals as well as to the communications system as shown in Figure

Routing and routed protocols, What is difference among routing and routed p...

What is difference among routing and routed protocols? Ans) i) Routing use for top path selection ii) Routed protocol carries on source and destination information.

Objective of parallel algorithms, After studying this part the students wil...

After studying this part the students will be able to understand about the following: Analysis of Parallel Algorithms; Different Models of Computation; o   Interco

Network service model - network layer and routing, Network Service Model ...

Network Service Model The network  service  model  defines  the characteristics of end to end  transport of data between  one edge of the  network  to the  other  that is betwe

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