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 tdm, What is TDM? TDM is a digital process that can be applied ...

What is TDM? TDM is a digital process that can be applied when the data rate capacity of the transmission medium is greater than the data rate needed by the sending and receivi

Explain imap, Short for Internet Message Access Protocol. This is another m...

Short for Internet Message Access Protocol. This is another most prevalent protocol of internet standard for email usage apart from POP. Usually all the modern email server and cli

Nfs, what is this ?

what is this ?

Show the character-level encryption, Q. Show the Character-level Encryption...

Q. Show the Character-level Encryption? - Substitutional - Monoalphabetic - simplest form; also called Caesar cipher - Every character is replaced with another character

Cost saving - application layer, Cost Saving Better performance  scala...

Cost Saving Better performance  scalability  and viability  translates into  saving  for  website  operators.  Because  fewer  application  web servers are required  to meet

Bit stream structure, In OSI 7 layer model, a header, or possibly a trailer...

In OSI 7 layer model, a header, or possibly a trailer, can be added to the data unit at each layerI 7 layer, but we will define a simple virtual packet which contains only 8bit dat

What is fiber distributed data interface, FDDI -(Fiber Distributed Data Int...

FDDI -(Fiber Distributed Data Interface) FDDI Basics: FDDI (Fiber Distributed Data Interface) came about because system managers became concerned with network reliability i

Difference between windows 2000 and windows 2003, What is the difference am...

What is the difference among Windows 2000 and Windows 2003?

Horizontal scaling and vertical scaling, What is meant by horizontal scalin...

What is meant by horizontal scaling and vertical scaling? Ans) Horizontal scaling means adding or removing client workstations with only a small performance impact. Vertical

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