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

Show ethernet media standard, Q. Show Ethernet Media standard? - The ca...

Q. Show Ethernet Media standard? - The cables and connector specifications utilized to support Ethernet implementations are derived from the EIA/TIA (Electronic Industries Asso

Switching, SWITCHING: A switched LAN has a single electronic device th...

SWITCHING: A switched LAN has a single electronic device that sends frames among the connected devices. A hub with several ports simulates a single shared phase. However a swi

What is network address, Q. What is Network Address? Network Address ...

Q. What is Network Address? Network Address First address in the block, assigned to the organization Defines the network itself and cannot be assigned to a host

Explain about switched ethernet, Switched Ethernet In switched netw...

Switched Ethernet In switched networks a switch device identifies the destination address and routes the frame to the specific port to which the destination station is conn

Performance - application layer, Performance Running on  inexpensive  ...

Performance Running on  inexpensive  hardware oracle web cache  increase the  throughput of  website  by several  orders of magnitude. In  addition  oracle web cache  signific

Test network connections between any two pcs, Use Packet Tracer software to...

Use Packet Tracer software to model the network that you have designed, and configure the network to make sure it is running properly. The following requirements should be met:

What is synchronous tdm, What is Synchronous TDM? In STDM, the multiple...

What is Synchronous TDM? In STDM, the multiplexer allocates exactly the same time slot to every device at all times, whether or not a device has anything to transmit.

TRAFFIC CONGESTION, Can I get help for data analysis on traffic congestion ...

Can I get help for data analysis on traffic congestion using GIS

Ieee specification for spanning tree protocol, What is the IEEE specificati...

What is the IEEE specification for Spanning Tree Protocol Ans) IEEE 8021.d Spanning Tree Protocol (STP) was developed to stop routing loops in a network. If a router, switch, or

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