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 get and set snmp operations, Question 1 Explain the basic comm...

Question 1 Explain the basic communication model with its block diagram Question 2 List and explain the functions of network monitoring Question 3 Explain the get and se

State in brief about the graceful degradation, State in brief about the Gra...

State in brief about the Graceful degradation With FDMA or TDMA, a fixed number of users can concurrently access the system. Though, with CDMA, as more user concurrently access

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?

Wireless access - computer network, Wireless Access Wireless access co...

Wireless Access Wireless access connecting end  systems ( that are often  mobile) into the network. Today there are two broad types  of wireless internet access(1) wireless an

Explain the basic of network properties, Explain the basic of Network Prope...

Explain the basic of Network Properties   The subsequent properties are related with interconnection networks. 1)  Topology: It refers how the nodes a network are systema

Process communicating - application layer, Process communicating End  ...

Process communicating End   systems  communicate with each  other by the  processes. A process  can be  thought  of a s program  that is  running  within  end systems. Process

Define network, Communication, Resource sharing and Media (When many host s...

Communication, Resource sharing and Media (When many host share their resources with every other OR when many devices connect with each other for resource sharing )

Networking services, Your Windows client failed to broadcast to all servers...

Your Windows client failed to broadcast to all servers that it has accepted an IP address offer. What step is this in the four-step DORA process? a. Discovery b. Offering c. Reques

Layer responsible for putting 1s and 0s into a logical group, Name the laye...

Name the layer responsible for putting 1s and 0s into a logical group? Ans) Frames are broken down into 1s and 0s and placed onto the physical medium by the Data Lin layer.

A default route is analogous to a, A default route is analogous to a defaul...

A default route is analogous to a default gateway. It is used to decrease the length of routing tables and to give complete routing capabilities when a router may not know the rout

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