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 wireless standards, Problem 1: (a) Briefly explain each of...

Problem 1: (a) Briefly explain each of the following wireless standards: (i) WiFi (ii) WiMAX (iii) 3G. Problem 2: (b) Bluetooth is an industrial specific

What is the role of ieee in computer networking, What is the role of IEEE i...

What is the role of IEEE in computer networking? IEEE, or the Institute of Electrical and Electronics Engineers, is an organization composed of engineers that issues and manage

Network problems, Network Problems Q1  Consider the single-sender CDM...

Network Problems Q1  Consider the single-sender CDMA example in Kurose & Ross. What would be the sender's output (for the 2 data bits shown), if the sender's CDMA code were (

Layered architecture - computer network, Layered Architecture The best...

Layered Architecture The best  way to  understand  any complex system is to break  it into  pieces  and then analyze what they  do and  how they interact. The most logical app

What are the bridges, Bridges - Operate in both physical and data link ...

Bridges - Operate in both physical and data link layers - Utilized to divide a network into smaller segments - May as well relay frames between separate LANs - Keeps t

Client server architecture - application layer, Client  Server Architectur...

Client  Server Architecture There is an  always  on host  called  server  which  provides  service requests to many other hosts  called  clients. In other words  client progra

What is the importance of encryption on a network, What is the importance o...

What is the importance of Encryption on a network? Encryption is the process of translating information into a code that is unreadable by the user. It is then translated back o

Explain the building blocks of client/server, The client side building bloc...

The client side building block moves towards the client side of the application. The server side building block moves towards the server side of the application.

Explain communications channels, A communications channel is pathways over ...

A communications channel is pathways over which information can be communicate. It may be described by a physical wire that connects communicating devices, or by a radio, laser, or

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

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