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 lan topologies, LAN Topologies The term topology explains t...

LAN Topologies The term topology explains the geographic arrangement of networking devices. It explains the actual layout of the network hardware. Given the location of worksta

Physical layer responsibilities of osi model, Q. Physical Layer Responsibil...

Q. Physical Layer Responsibilities of osi model? - Physical characteristics of interfaces as well as media - Representation of bits with no interpretation - Data rate is

Define the backbone networks, Q. Define the Backbone Networks? Backbon...

Q. Define the Backbone Networks? Backbone Networks - Allows several LANs to be connected - Non of station is directly connected to the backbone - Stations are part

Cycle of bridges, CYCLE OF BRIDGES:  A bridges network can join severa...

CYCLE OF BRIDGES:  A bridges network can join several segments. One bridge is useded to connect every segment to the rest of the bridge network. This is given in the figure be

Power supply system in satellite system, POWER SUPPLY SYSTEM IN  SATELLITE...

POWER SUPPLY SYSTEM IN  SATELLITE SYSTEM Satellite Earth Station relies on the public power supply system. Two generators (1+1) of 250 KVA each in parallel connection having fa

Digital encoding, A modified NRZ code known as enhanced-NRZ (E-NRZ) operate...

A modified NRZ code known as enhanced-NRZ (E-NRZ) operates on 7-bit words; inverting bits 2,3,6 and 7; and adding one parity bit to each word. The parity bit is chosen to make the

Explain the OSI Model Facts, OSI Model Facts The OSI model classifies a...

OSI Model Facts The OSI model classifies and organizes the methods that hosts perform to maintain data for transport across the network. You should be familiar with the OSI m

Define the tasks for which sns is used, Define the tasks for which SNS is u...

Define the tasks for which SNS is used SNA can be used for the following types of tasks: -  Terminal access to mainframe and midrange computer applications. -  File trans

Hypercube network and properties, Hypercube Network The hypercube archi...

Hypercube Network The hypercube architecture has played a vital role in the development of parallel processing and is still not much popular and influential. The highly symmetr

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