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 is a web server, What is a Web server? This new model of Client/Se...

What is a Web server? This new model of Client/Server having of thin, portable, "universal" clients that talk to super fat servers. In the easiest form, a web server returns do

What are the disadvantages of bus topology, What are the disadvantages of b...

What are the disadvantages of bus topology? The disadvantages of bus topology are: a. The bus networks are dissimilar to reconfigure, especially when the acceptable number o

Building routing tables, There are basically two functions for creating rou...

There are basically two functions for creating routing tables, which are as given: Manual entry Software Further there are two types for computing routing table inf

Fault tree analysis, FAULT TREE ANALYSIS Reliability engineering, in a ...

FAULT TREE ANALYSIS Reliability engineering, in a nutshell is concerned with failures.   How failures occur, how often they occur, and how to minimize them are the basic proble

What is full-duplex ethernet, Full-Duplex Ethernet 10Base5 as well ...

Full-Duplex Ethernet 10Base5 as well as 10Base2 are half-duplex Full-duplex raises capacity of each domain No require for CSMA/CD

State token bus frame format, Token Bus Frame Format No length fiel...

Token Bus Frame Format No length field Data is able to be much larger (timers prevent hogs) Frame control Ack required? Data vs Control frame and how is

Show the masking process, Q. Show the Masking process? Masking ...

Q. Show the Masking process? Masking Take out the address of the physical network from an IP address Used by routers inside the organization

Which statement best defines access list placement, When using access lists...

When using access lists, it is important where those access lists are placed. Which Statement best defines access list placement Ans) Put standard access lists as near the desti

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