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

Define the microcells- routing and switching, Microcells As cells becom...

Microcells As cells become smaller, antennas move from the tops of tall buildings or hills, to the tops of small buildings or the sides of large buildings, and finally to lamp

What is extranet and intranet, Extranet and Intranet An Extranet is a t...

Extranet and Intranet An Extranet is a type of Intranet (Internal TCP/IP Network) that has been selectively opened to a firm's suppliers, customers. Intranet An intrane

What are the key elements of protocols, What are the key elements of protoc...

What are the key elements of protocols? The key elements of protocols are a. Syntax   It refers to the structure or format of the data that is the order in which they a

What are the important benefits of computer network, Q. What are the import...

Q. What are the important benefits of computer network? Ans: Important benefits of computer networks are: -  Resource sharing -  Higher reliability -  Higher flexibili

Tcp-ip and osi differences, Q. TCP-IP and OSI Differences - TCP/IP com...

Q. TCP-IP and OSI Differences - TCP/IP combines the Presentation and Application Layers - TCP/IP combines the OSI Data Link and Physical Layers into 1 Layer - TCP/IP app

IP datagram, On a LAN where are IP Datagram transported?

On a LAN where are IP Datagram transported?

Error correction in burst error correction, Q. Error Correction in Burst Er...

Q. Error Correction in Burst Error Correction? Error Correction-Burst Error Correction In its place of sending all the bits in a data unit together we can organize "N

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