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

Distinguish between network devices computers and servers, The School of Co...

The School of Computing is planning to deploy a new network structure to accommodate the following scenario. Please make suggestions on how this LAN can be designed based on the fl

What is overlapping signals, Normal 0 false false false ...

Normal 0 false false false EN-IN X-NONE X-NONE MicrosoftInternetExplorer4 What is overlapping

Analysis of parallel algorithms, A generic algorithm is mostly analyzed on ...

A generic algorithm is mostly analyzed on the basis of the following parameters: the time complexity (implementation time) and the space complexity (amount of space necessary). Usu

Determine the maximum number of stations, (i)  Suppose N stations are conne...

(i)  Suppose N stations are connected to an extended Ethernet LAN, as shown below shown in Figure operating at the rate of 10 Mbps. Assume that the efficiency of each Ethernet is 8

Advantages and disadvantages of public and private network, The disadvantag...

The disadvantages and advantages of Private and Public networks are shown in the table below:

Define metropolitan area network, Q. Define Metropolitan Area Network? ...

Q. Define Metropolitan Area Network? Metropolitan Area Network (MAN) Cable Network Architecture: Overview Protocols and Standards - Set of regulations that go

Write a descriptive note on rmonv2, Question 1 What does the SNMP access p...

Question 1 What does the SNMP access policy represent? Question 2 Does there exist any formal functional specification for SNMPv1 management? Question 3 In the con

Explain about the browser, Explain about the Browser A program that ...

Explain about the Browser A program that allows the user to access and read information on the World Wide Web. Netscape® Navigator and Microsoft Explorer® are the best known

What is single-mode fiber, What is Single-mode fiber Single-mode fiber ...

What is Single-mode fiber Single-mode fiber is competent of higher bandwidth and greater cable run distances than multi-mode fiber. For the reason that of these characterist

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