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

Facts about fiber optic cables - Computer Network, Facts about  Fiber Opti...

Facts about  Fiber Optic Cables 1. Outer insulating jacket is made  of Teflon or PVC. 2. Kevler fiber  helps  to strengthen  the cable and prevent breakage. 3. A plas

Domain names and address resolution, However what if you don't know about t...

However what if you don't know about the IP address of the computer you wished to connect to? What if you have to access a web server referred to as www.abc.com? How does your web

Determine the method to protect the web servers, Determine the method to pr...

Determine the method to protect the Web servers The company should install additional levels of security measures since it is possible for hackers to generate and send data wit

Osi reference model - fundamentals of networks, OSI Reference  Model ...

OSI Reference  Model Normal 0 false false false EN-IN X-NONE X-NONE

Higher bandwidth - computer network, Higher bandwidth Fibre  optic  ...

Higher bandwidth Fibre  optic  cable an  support  dramatically higher bandwidths than  either   twisted pair or  coaxial  cable currently data rates  and bandwidth utilizatio

How big can an intranet be, How big can an Intranet be? An Intranet ca...

How big can an Intranet be? An Intranet can be as big as a community of interest. Scale is an important factor in web implementation, but it has no bearing on the logical asso

Sequence number - transport layer, Sequence Number After  the bytes...

Sequence Number After  the bytes have been numbered TCP assigns a sequence number to each segment   that is  being sent. These sequence number for each segment  is the numb

Metrics are used by routing protocols, What metrics are used by routing pro...

What metrics are used by routing protocols to verify the best path?

Performance - application layer, Performance Running on  inexpensive  ...

Performance Running on  inexpensive  hardware oracle web cache  increase the  throughput of  website  by several  orders of magnitude. In  addition  oracle web cache  signific

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