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

Parts count method calculation, M E T HOD OF CALCULATION It involves...

M E T HOD OF CALCULATION It involves counting the number of each part type and multiplying with the generic failure rate of each part. On summing up the product, we obtain t

What are called fat clients and fat servers, What are called Fat clients an...

What are called Fat clients and Fat servers? If the bulk of the application runs on the Client side, then it is Fat clients. It is used for decision support and personal softwa

Which layers are user support layers, Which layers are user support layers?...

Which layers are user support layers? Three layers are come under user support layer:- a. Session Layer b. Presentation Layer and c. Application Layer

What are the key benefits of layered network, What are the key benefits of ...

What are the key benefits of layered network? Main advantages of layered network are given below: a) Complex systems can be split into understandable subsystems. b) Any f

Explain the term- bits and bitmap, Explain teh term- Bits and Bitmap ...

Explain teh term- Bits and Bitmap Many tiny dots, which are put together to make a picture. Bits are combined to make a graphic image called a bitmap. GIF and JPEG files are

FlowCharts, How do I draw a flowchart and psuedocode that allows the user t...

How do I draw a flowchart and psuedocode that allows the user to input two different values and complete the sum and display the results?

Subnetting, Calculate the Network Address, the broadcast address and the ho...

Calculate the Network Address, the broadcast address and the host range, for the following host address i. 192.168.180.94/27 ii. 172.23.8.19 /21 iii. 147.252.238.20 255.255.240.0 b

What is the use of a default gateway, What is the use of a default gateway?...

What is the use of a default gateway? Default gateways give means for the local networks to connect to the external network. The default gateway for connecting to the external

Packet switching and virtual circuit packet switching, Describe Circuit swi...

Describe Circuit switching, Packet switching and Virtual Circuit Packet switching. Explain their suitability for different applications such as telephone and internet. Packet S

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