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 term ftp- file transfer protocol, Explain the term FTP: File T...

Explain the term FTP: File Transfer Protocol A very common method of moving files between two Internet sites. FTP is a special way to log in to another Internet site for pur

Programming based on data parallelism, Programming Based on Data Parallelis...

Programming Based on Data Parallelism In a data parallel programming model, the focus is on data distribution. Every processor works with a portion of data. We shall discuss on

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

What is the difference among Windows 2000 and Windows 2003?

Odd-even transposition algorithem, Algorithm:  Odd-Even Transposition //...

Algorithm:  Odd-Even Transposition //Input: N numbers that are in the unsorted form //Assume that element bi is assigned to pi for I=1 to N { If (I%2 != 0) //i.e Odd

Modem stands for modulator - demodulator, Q. Modem stands for modulator - d...

Q. Modem stands for modulator - demodulator ? - Modulator are to creates an analog signal from binary data - Demodulator are to recovers the binary data from the modulated s

Improvements for the wireline lan infrastructure, 5. CSMA/CD based Ethernet...

5. CSMA/CD based Ethernet LANs in various sites and Frame Relay (FR) service to connect them together. You want to make a difference in the organization by upgrading the LANs to be

Define network, Communication, Resource sharing and Media (When many host s...

Communication, Resource sharing and Media (When many host share their resources with every other OR when many devices connect with each other for resource sharing )

Illustrate stop-and-wait automatic repeat request, Q. Illustrate Stop-and-W...

Q. Illustrate Stop-and-Wait Automatic Repeat request? - Simplest flow as well as error control mechanism - The sending device keeps a duplicate copy of the last frame transm

Fiber-optic cable as transmission media, Q. Fiber-Optic Cable as transmissi...

Q. Fiber-Optic Cable as transmission media? - Made of glass signals are transmit like light pulses from an LED or laser - Light is as well a form of electromagnetic energy

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