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

Compare delays in packet switching and circuit switching, In this question,...

In this question, you will compare delays in packet switching (i.e. in IP networks), in circuit switching (i.e. in PSTN telephony) and in virtual circuit packet switching (i.e. in

Determine the term- web server and webmaster, Determine the term- Web Serve...

Determine the term- Web Server and Webmaster Web Server: A host computer that stores Web pages and responds to requests for viewing. Web servers communicate with Web browse

What is authentication, Q. What is Authentication ? - Verification of s...

Q. What is Authentication ? - Verification of sender's identity. - Accomplished through a digital signature, which is based on public key encryption/decryption. - Uses re

Write the concept of simplex, Describe Concept of Simplex, Half Duplex and ...

Describe Concept of Simplex, Half Duplex and Full Duplex dialogs?

Shortest path - network layer and routing , Shortest path  The  dijkst...

Shortest path  The  dijkstra algorithms  four steps to discover what it called  the shortest path  tree . a.The algorithm  beings  to build  the tree identifying  its root.

Fiber distributed data interface, Question 1 Write short notes on (i) F...

Question 1 Write short notes on (i) Fiber Distributed Data Interface (ii) Serial Line Question 2 Explain Internet layer and transport layer Internet layer Tran

What security risks present on the networks, Security risks present on the ...

Security risks present on the networks Lots of risks are present everywhere on Internet as well as on Intranet, if it is not known what is being done. Every day a number of

Shared programming using library routines, Shared Programming Using Library...

Shared Programming Using Library Routines The most well-liked of them is the use of combo function called fork() and join(). Fork() function is used to make a new child proces

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