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

Discuss on basic services in gsm, Question 1 Explain the process of Compon...

Question 1 Explain the process of Components Identification and call establishment Question 2 Discuss on Basic services in GSM Question 3 Explain the Protocols Use

Example on TCP numbering, Q. Example on TCP numbering? Envision a TCP c...

Q. Example on TCP numbering? Envision a TCP connection is transferring a file of 6000 bytes. The first byte is numbered 10010. What are the sequence numbers for every seg

Explain different network structures in use, Computer Networking 1. Exp...

Computer Networking 1. Explain different network structures in use. 2. Elaborate the architecture and usage of ISDN. 3. Discuss the concept of framing in Data Link Layer

Message oriented middleware , What is Message Oriented Middleware (MOM)? ...

What is Message Oriented Middleware (MOM)? Ans) MOM permits general purpose messages to be exchanged in a Client/Server system using message queues. Applications communicate ove

#title. Wireless broadband, Hi, i am a college student doing a report on wi...

Hi, i am a college student doing a report on wireless broadband. I needed to know user requirements of user groups ie: Home user Small Medium Large Businesses Things like w

What are the advantages of adaptive routing, What are the Advantages of ada...

What are the Advantages of adaptive routing  (1) An adaptive routing method can improve performance, as realised by the network user. (2) An adaptive routing method can aid

Compare udp and tcp, QUESTION a) National regulations require the avail...

QUESTION a) National regulations require the availability of the following services for all IP to PSTN, PSTN to IP, and IP to IP calls. Name any three types of these features

Ipv6 - network layer and routing , IPv6 The  internet  engineering task...

IPv6 The  internet  engineering task force begin  the effort to develop a successor  protocols  to IPv4 in the early  1990 is an internet  layer protocols  for packet  switched

Reliable data transfer over a perfectly reliable channel r, Reliable  dat...

Reliable  data transfer  over a perfectly reliable channel rdt 1.0 First  all consider  the simplest  care in  which  the underlying  channel  perfectly reliable.  The protoco

Internet transport service proposal, will you have this done to day? And ho...

will you have this done to day? And how long will this take?

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