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

How does a token-passing protocol works, How does a Token-Passing Protocol ...

How does a Token-Passing Protocol works? The token-passing protocol relies on a control signal known as the token. A token is a 24-bit packet that circulates throughout the net

Stop service advertisements from flooding a network, To stop Service Adver...

To stop Service Advertisements (SAPs) from flooding a network, Cisco routers do not forward them. How are services advertised to other networks? Ans) Every router builds its own

What is uniform resource locator, What is Uniform Resource Locator A...

What is Uniform Resource Locator Address of location for accessing Web pages. Clicking on an icon or "hot text" is the most common means of accessing and using a URL. Typing

What are the security models by giving striking analogies, Security models ...

Security models by giving striking analogies to the real world A classical case study: (With due acknowledgements to the security exponent who proposed this theory.) He has c

Define the concept of repeaters, Can you define the concept of Repeaters, H...

Can you define the concept of Repeaters, Hubs, Bridges, Switches and Routers?

What is tcp/ip, TCP/IP is a name provided to the collection (or suite) of n...

TCP/IP is a name provided to the collection (or suite) of networking protocols that have been used to construct the global Internet. The protocols are also referred to as the DoD (

Define IEEE 802.4-token bus, IEEE 802.4-Token bus Physical line or tree...

IEEE 802.4-Token bus Physical line or tree however logical ring. Stations know "left" as well as "right" stations. One token "passed" from station to station. Only station with

Issues to process of message passing, The following issues are decided by t...

The following issues are decided by the system in the process of message passing: 1) Whether the communication link is established or not 2) Whether the receiver is ready to

State ethernet frame format, Ethernet Frame Format Consists of sev...

Ethernet Frame Format Consists of seven fields There is No mechanism for acknowledging received frames considered an unreliable medium

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