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

Program to load the router with the supplied scripts-ccna, Load the Router ...

Load the Router with the Supplied Scripts Enable ! config term ! hostname Router1 ! enable secret class ! no ip domain-lookup !  interface FastEth

Determine the functioning of service support, Determine the functioning of ...

Determine the functioning of Service Support Service Support must be considered a strong point for hardware, especially for servers and should be available readily. Many brande

What is raid in ccna, A method used to standardize and categorize fault-tol...

A method used to standardize and categorize fault-tolerant disk systems. RAID levels give lot of mixes of performance, reliability, and cost. Some servers give three of the RAID le

Explain in brief about crc, What is CRC The CRC is computed while trans...

What is CRC The CRC is computed while transmission and appended to output stream as soon as last bit goes out onto wire. If the CRC were in header, it will be necessary to make

Create a wireless can, You are the network administrator for the City of Jo...

You are the network administrator for the City of Joshua Texas. The city government offices are located in five buildings separated by a State Highway controlled by the State of Te

Network analyzers, NETWORK ANALYZERS: A network analyzer also known ne...

NETWORK ANALYZERS: A network analyzer also known network monitor or a network sniffer is used to calculate the performance of or debug a network. It may report statistics s

Straight through lan cable, Q. Straight through Lan Cable ? Straight t...

Q. Straight through Lan Cable ? Straight through Cable - Maintain the pin connection each the way through the cable. - The wire connected to pin 1 is the similar on bo

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