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

Explain the types of security threats, Q. Explain the types of Security Thr...

Q. Explain the types of Security Threats? (a) Normal Flow (b) Interruption: An asset of a system develops into unavailable or unusable. (c) Interception: A few unaut

Structure of internet servers address, In a client's software , the structu...

In a client's software , the structure of an Internet server's address keyed is as follows: Where: http refer for the communication protocol to be used www refer for th

Point out the drawbacks of token ring, Point out the drawbacks of Token Rin...

Point out the drawbacks of Token Ring. Few of the drawbacks of Token Ring are: a. Token Ring is very costly. All topology components cost much more than other more popular s

Layer responsible for putting 1s and 0s into a logical group, Name the laye...

Name the layer responsible for putting 1s and 0s into a logical group? Ans) Frames are broken down into 1s and 0s and placed onto the physical medium by the Data Lin layer.

Explain about the integrating intranet, Explain about the Integrating Intra...

Explain about the Integrating Intranet These Intranets are designed to replace the complexity of in-house communications and processing systems that large organisations ofte

Data sources in circuit-switching mode of operation, A data link is shared ...

A data link is shared by 20 data sources. Each source is active only 10% of the time and produces 1Mbps data rate when active. The sources start their transmissions at random. a

Compare error detection and error correction, Compare Error Detection and E...

Compare Error Detection and Error Correction: The correction of errors is more difficult than the detection. In error detection, checks only any error has happened. In error co

Network, What are the advantages of logging more information to the alerts ...

What are the advantages of logging more information to the alerts filestion #Minimum 100 words accepted#

Configure the management interface- spanning tree protocol, Configure the m...

Configure the management interface address on all three switches.  S1(config)#interface vlan1 S1(config-if)#ip address 172.17.10.1 255.255.255.0 S1(config-if)#no shutdown

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