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

Coffee and Company Security Case Study, This is a report, I am working on a...

This is a report, I am working on another one. This report is on finding a better solution dealing with customer, wifi, management, etc.

Write the definition of SAN, Write the definition of SAN A SAN is a sep...

Write the definition of SAN A SAN is a separate network to handle storage requirements. The SAN detaches storage tasks from specific servers and makes a shared storage facility

Show the network layer duties, Network layer duties Internetwork ...

Network layer duties Internetwork - Physical and Data link layers are jointly responsible for data delivery on the network from node to node

What is the internal ip address, What is the internal IP address There ...

What is the internal IP address There is a separate set of IP address for a company's internal use, more popularly known as "internal IP address" or subnet IP address. This IP

Bandwidth allocation , Consider figure.  Assume a new flow E is added that ...

Consider figure.  Assume a new flow E is added that takes a path from R1 to R2 to R6. How does the max-min bandwidth allocation change for the 5 flows?

Determine the disadvantages of socks protocol, Determine the disadvantages ...

Determine the disadvantages of SOCKS protocol The main problem with SOCKS is that it lacks transparency to software developers and users. Implementation requires a change to

Show the process of mail delivery, Q. Show the process of Mail Delivery? ...

Q. Show the process of Mail Delivery? Mail Delivery -Consists of three stages -First stage - email goes from user agent to local server, where it is stored until it ma

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

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