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 are routers, What are routers? Routers work to connect two or more...

What are routers? Routers work to connect two or more network segments. These are the most intelligent network devices that store information in its routing table like paths, h

Two items that tcp and udp share in common, Recognize the two items that TC...

Recognize the two items that TCP and UDP share in common? Ans) TCP and UPD are both layer 4 Transport protocols and both use port number to recognize upper level applications.

Define guided media, Q. Define Guided Media? - Offers a conduit from on...

Q. Define Guided Media? - Offers a conduit from one device to another - Signal is directed as well as contained by physical limits of medium - Twisted-pair and coaxial ut

Write down short note on frame-relay dlci, DLCI- Data Link Connection Iden...

DLCI- Data Link Connection Identifier. A frame-relay service provider usually assigns DLCI values that are used by frame-relay to distinguish among different virtual circuits on th

Find the appropriate layer of the OSI or hub, • This device creates one big...

• This device creates one big collision domain and one large broadcast domain.

Topology-tcp and udp sources, To relieve some programming burden, project 5...

To relieve some programming burden, project 5 is a group project that two students can form a group to do and submit one report. In your submitted report, please specify who is you

How an ethernet worked, How an Ethernet Worked? The operation of Ethern...

How an Ethernet Worked? The operation of Ethernet can be explained in simple terms as follows: Each computer on the Ethernet Network, also called as a node, operates indepen

Job of designing the new network layout, You have been tasked with the job ...

You have been tasked with the job of designing the new network layout for R2I's new location. R2I has a fractional T1 line that enters the premises at Site B. You can use: 1

What are mac addresses, What are MAC addresses? MAC, or Media Access Co...

What are MAC addresses? MAC, or Media Access Control, uniquely identifies a device on the network. It is also called as physical address or Ethernet address. A MAC address is m

Network infrastructure upgrade, Network Infrastructure: This project will r...

Network Infrastructure: This project will require replacement of major networking components throughout the office. Virtualization will result in increased speed and reliability fo

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