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

Service paradigm, At the minimum level most networks sends individual packe...

At the minimum level most networks sends individual packets of data and the network needs each packet to follow an exact format dictated by the hardware, which is known service par

Explain about lan, What is a LAN? A LAN is a Local Area Network, within...

What is a LAN? A LAN is a Local Area Network, within a single building or a specific confined space. LANs typically comprise only one transmission media type like coaxial cable

Byte number - transport layer, Byte Number TCP number all data  bytes ...

Byte Number TCP number all data  bytes that  are transmitted  in a connection. Numbering  is independent  in each direction when TCP receives bytes of data  a process. It stor

Basic working of spanning tree, Q. Basic working of Spanning Tree? Spa...

Q. Basic working of Spanning Tree? Spanning Tree - Redundant bridges may be installed to provide reliability - To prevent infinite looping of packets between bridges,

What is a computer network, What is a computer network? Computer Networ...

What is a computer network? Computer Network is a collection of distributed intelligent devices that are connected with each other with transmission media for the purpose of da

Packet switching - fundamentals of networks, Packet Switching In the  ...

Packet Switching In the  packet  switching network  type on specific  path is  used for  data  transfer. Instead the data is chopped up into  small  pieces called packed and s

Computer Networking help, Hello, I have a question which is due tomorrow (2...

Hello, I have a question which is due tomorrow (2/15/2013) at 11:55pm. The configuration portion of the exercise has been completed. I only need the questions in bold answered (onl

Configure spanning tree- ccna, Configure Spanning Tree Step 1: Ex...

Configure Spanning Tree Step 1: Examine the default configuration of 802.1D STP. On each switch, display the spanning tree table with the show spanning-tree command. R

Determine about the security systems, Determine about the Security Systems ...

Determine about the Security Systems If the company intends to connect to the Internet, then it should pay great attention to the configuration of firewalls. Just as no one wo

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