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

Command that forces the router to load into ROM, Determine the command that...

Determine the command that forces the router to load into ROM mode upon a reload?  Ans) boot system rom ia the command that forces the router to load into ROM mode upon a reload

Benefits of building up a well-designed intranet, Benefits of Building up a...

Benefits of Building up a well-designed Intranet Building up a well-designed Intranet can help the companies in the following activities that would improve their overall perfor

Flow control in TCP, Q. Flow control in TCP? The amount of data a s...

Q. Flow control in TCP? The amount of data a source is able to send before receiving an ACK from the destination Whether to send 1 byte of data as well as wait for ACK

Network design with configuration, hi. this is 700 words assignment..how mu...

hi. this is 700 words assignment..how much charges will be for this..?

Describe at one disadvantage of a peer to peer network, Describe at one dis...

Describe at one disadvantage of a peer to peer network. When you are accessing the resources that are shared by one of the workstations on the network, that workstation takes

Evaluate error detection in crc polynomials, Q. Evaluate Error Detection in...

Q. Evaluate Error Detection in CRC Polynomials? The divisor in the CRC generator is most habitually represented as an algebraic Polynomial. Reasons: It is short

Design the user interface for mode switching, Design the user interface for...

Design the user interface for mode switching and data entry any way that you like. For example, to switch an application from transmit mode to receive mode, you can give it special

What is data traffic, Q. What is Data traffic? Data traffic ...

Q. What is Data traffic? Data traffic Peak data rate : max data rate of the traffic Average data rate = (amount of data)/time Maximum Burst size: max. l

Describe how does arp response the request, ARP sent the request in broadca...

ARP sent the request in broadcast, response is unicast When a source sends ARP request the switch broadcast the ARP req. if it doesn't have the destination mac address in its ma

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