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

Hacking, can u send me a hacking software of face book for free

can u send me a hacking software of face book for free

Thin ethernet wiring, THIN ETHERNET WIRING: Thin Ethernet needs thin c...

THIN ETHERNET WIRING: Thin Ethernet needs thin coax cable that is cost effective and easier to install than thick Ethernet coax. In this case transceiver electronics are creat

Fault tree analysis, FAULT TREE ANALYSIS Reliability engineering, in a ...

FAULT TREE ANALYSIS Reliability engineering, in a nutshell is concerned with failures.   How failures occur, how often they occur, and how to minimize them are the basic proble

How to perform basic switch configurations-ccna, How to Perform Basic Switc...

How to Perform Basic Switch Configurations Step : Complete basic configuration of switches S1, S2, and S3. Configure the S1, S2, and S3 switches according to the following

State the network environment of intranets and internet, State the Network ...

State the Network environment of Intranets and Internet Intranets as well as the Internet are based purely on networks, the company intending to install Intranet must consider

What are the advantages of the intranet, What are the Advantages of the int...

What are the Advantages of the intranet The most easily noticeable difference between an Internet server and an Intranet server such as Lotus Notes is their design philosophy.

Define character stuffing, Define Character Stuffing? In byte stuffing ...

Define Character Stuffing? In byte stuffing (or character stuffing), a particular byte is added to the data section of the frame when there is a character with the same pattern

Overhead - sonet sdh , Overhead SONET overhead  is not added as header...

Overhead SONET overhead  is not added as headers or trailers as we have seen  in other  protocols. Instead SONET  insert overhead at a variety of location in middle  of the  f

Reduction of out of band radiation in ofdm system, THE high spectral effici...

THE high spectral efficiency makes OFDM a suitable technology to meet the demands of wireless data traffic. A currently discussed new application are OFDM based overlay systems. In

Difference between multiprogramming and multithreading, Question: a) L...

Question: a) List three characteristics and two potential problems of a peer-to-peer environment. b) List three characteristics and two potential problems of a client/

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