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

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?

Define the class B addresses, Define the Class B Addresses? First t...

Define the Class B Addresses? First two octets are the network number as well as the last two octets are the host number 16382 probable blocks for assignment to organi

Distinguish among client process and server process, QUESTION (a) Expla...

QUESTION (a) Explain briefly what is meant Client-server Computing? (b) Distinguish among client process and server process (c) What are the four basic characteristics of

Explain about the database management intranet, Explain about the Database ...

Explain about the Database Management Intranet This type of Intranet provides everyone in an organisation with the capability to maintain a "real-time" interactive database.

Ajax, Ajax is a relatively new set of techniques that, in a sense, implemen...

Ajax is a relatively new set of techniques that, in a sense, implement some of the functionalities originally provided by RPC. Ajax is primarily used to build web applications with

Give examples of the application layer, Pretty much any end-user program is...

Pretty much any end-user program is an best example of the Application Layer.

Layered concept of computer networks, Q1.  What  advantages  do  you  see  ...

Q1.  What  advantages  do  you  see  in  having  a  layered  concept  of  computer  networks?  Which layers or OSI structure deals with identification of a host? Explain the proces

Security - fundamentals of networks, Security Security  is the  protec...

Security Security  is the  protection of hardware software and data  from  unauthorized access. Restricted physical  access to computer password protection limiting  user priv

Determine 802.11a OFDM, 802.11a OFDM a) Orthogonal frequency-division m...

802.11a OFDM a) Orthogonal frequency-division multiplexing utilizing a 5-GHz band b) Same as FDM except all sub bands are used by only one source at a given time c)  Secu

Ppp authentication chap pap secret, As the system administrator, you type "...

As the system administrator, you type "ppp authentication chap pap secret". Name the authentication method is used first in setting up a session? Ans)  the authentication method

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