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 extranet and intranet, Extranet and Intranet An Extranet is a t...

Extranet and Intranet An Extranet is a type of Intranet (Internal TCP/IP Network) that has been selectively opened to a firm's suppliers, customers. Intranet An intrane

Two metrics used to make routing decisions, In Novell's use of RIP, there a...

In Novell's use of RIP, there are two metrics used to make routing decisions.  What are they? Ans) A. Ticks. B. Hops

Layer on which layer does l2f, Write the layer on which layer does L2F, PPT...

Write the layer on which layer does L2F, PPTP and L2TP operate?

Describe smtp, a) Used for sending e-mail. b) Uses port 25.

a) Used for sending e-mail. b) Uses port 25.

What is stateful multi-layer inspection, What is Stateful Multi-Layer Inspe...

What is Stateful Multi-Layer Inspection (SMLI) They are considered as the third generation of firewall technology and usually combine the facilities of the above two. They are

What is multimode graded-index fiber, Q. What is Multimode Graded-Index Fib...

Q. What is Multimode Graded-Index Fiber? - Ever since the core density decreases with distance from the centre the light beams refract into a curve - Eliminates problem with

Hub - network layer and routing , Hub A hub  is a  small box that  con...

Hub A hub  is a  small box that  connects  individual devices on network  so that  these devices  can  communicate  with each  other. Hub  is an inexpensive device. It is comm

Fiber optic cable - computer network, Fiber Optic Cable A fiber  opt...

Fiber Optic Cable A fiber  optic  cable is made  of glass or plastic and transmits signals in the form of light pulses. An optical fiber  is a thin  flexible medium  conducts

Quality of service, Networks are more frequently being prepared to allow sp...

Networks are more frequently being prepared to allow specification of the quality of service needed by users. For example: - a typical voice telephone call may give a QoS para

Explain anti-aliasing techniques, Question: (a) Explain the issue assoc...

Question: (a) Explain the issue associated with vertices when the scan line scan line polygon fill algorithm is being applied? (b) Explain the logic of shortening edges to a

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