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 term - carrier sense multiple access, What is use of Carrier se...

What is use of Carrier sense multiple access Carrier sense multiple access with collision detection (CSMA/CD) is a form of medium access control in which a station listens to

Computes their distance vector for network, Consider the following network ...

Consider the following network example. Suppose that the distance vector (DV) routing algorithm is used to compute the distance between nodes. (a) Show the procedure of nod

Give the types of firewalls, Give the types of firewalls Conceptually,...

Give the types of firewalls Conceptually, there are two types of firewalls: 1.  Network Level 2.  Application Level Network Level Firewall/Packet Filters The Net

What are the key elements of protocols, What are the key elements of protoc...

What are the key elements of protocols? The key elements of protocols are a. Syntax   It refers to the structure or format of the data that is the order in which they a

How is final different from finally and finalize, How is final different fr...

How is final different from finally and finalize ()? Final is a modifier which can be applied to a class or a method or a variable. final class can't be inherited, final method

What are the internal threats - security, What are the Internal Threats ...

What are the Internal Threats Internal security problems are probably the most common. One never knows what someone is going to do. Even the most loyal employees or workers can

Describe in brief about tree topology, Tree topology Comments 1 -...

Tree topology Comments 1 - This features star nodes on a bus network 2 - All the disadvantages and advantages of both types of networks described above apply to this s

Pvm library routines, In this part we shall give a short description of the...

In this part we shall give a short description of the routines in the PVM 3 user library. Each PVM program should include the PVM header file "pvm3.h" (in a C program) or "fpvm3.h"

Single-cell wireless lan, Single-cell wireless LAN All of the wireless ...

Single-cell wireless LAN All of the wireless end systems are within range of a single control module. Multiple-cell wireless LAN: there are many control modules interlinked by

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