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

Protocols are used for logical network addressing, Which of the following p...

Which of the following protocols are used for logical network addressing? Ans) Internet Protocol - IP gives routing and a one interface to the upper layers. No upper layer proto

How receiver detects error, How receiver detects error The frame is 100...

How receiver detects error The frame is 10011101. The generator is 1001. The message after appending the three zeros is 10011101000. The reminder on dividing 10011101000 by 100

Networking concepts and applications, iLab 2: Office Network Expansion ...

iLab 2: Office Network Expansion Connect to the iLab here. Submit your assignment to the Dropbox located on the silver tab at the top of this page. (See "Due Da

what is a typical value when rtp is used, In the VOIP system, let h be the...

In the VOIP system, let h be the total number of header bytes added to each chunk, including UDP and IP header. a)  Assuming an IP datagram is emitted every 20 msec, find the tr

Packet switches, PACKET SWITCHES:  To span large distances or several ...

PACKET SWITCHES:  To span large distances or several computers, networks must removed shared phase with packet switches. Each switch moves whole packet from one connection to

Combine subtitution and transposition, how to own cipher to encrypt and dec...

how to own cipher to encrypt and decrypt message by combine both substitution ans transposition algorithm using c program

Define guided media, Q. Define Guided Media? - Offers a conduit from on...

Q. Define Guided Media? - Offers a conduit from one device to another - Signal is directed as well as contained by physical limits of medium - Twisted-pair and coaxial ut

Configuration and cable termination, how can I establish a home net work by...

how can I establish a home net work by using cables and wieless

What are the important topologies for networks, What are the important topo...

What are the important topologies for networks? BUS topology: In this every computer is directly linked to primary network cable in a single line. Advantages: Inexpensive,

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