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 oltp, What is OLTP? In the transaction server, the client compo...

What is OLTP? In the transaction server, the client component usually contains GUI and the server components usually having of SQL transactions against a database. These applic

Try for selective repeat, - Lost as well as delayed ACKs - Bidirectional...

- Lost as well as delayed ACKs - Bidirectional transmission both side needs both sending and receiving windows Note: In selective repeat ARQ the size of the sender and rece

State the nonselective fading and selective fading, Nonselective fading and...

Nonselective fading and Selective fading Nonselective fading, is a fading in which all frequency methods of the received signal fluctuate in the similar proportions simultaneo

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

What is boundary level masking, Q. What is Boundary Level Masking? ...

Q. What is Boundary Level Masking? If mask numbers are either 255 or 0: Bytes in the IP address that correspond to 255 in the mask will be repeated in the subnet ma

How is computer networks used in sales and marketing, Q. How is computer ne...

Q. How is computer networks used in sales and marketing?  Marketing and sales:   Computer networks are used extensively in both marketing and sales organizations. Marketing pr

How to prevent the data from hackers, How to prevent the data from hackers ...

How to prevent the data from hackers In order to prevent intruders from entering the house, it is necessary for the house owner to look after the behaviour of internal and exte

Asynchronous transfer mode (atm), Telephone companies (Telco's) stated ATM ...

Telephone companies (Telco's) stated ATM to meet various goals. It gives universal service for all support and subscribers for all users for video, voice and data. It has a single

What are tp-lite, What are TP-Lite and TP-Heavy Monitors? TP-Lite is si...

What are TP-Lite and TP-Heavy Monitors? TP-Lite is simply the integration of TP Monitor functions in the database engines. TP-Heavy is TP Monitors which handles the Client/S

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