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

Characteristics of the user private group scheme, Question: a) The cpi...

Question: a) The cpio utility has three operating modes. What are they? b) The characters of the permission string are broken up into three groups of three characters. Ex

Comparison and contrast between the osi and tcp-ip model, Q. Comparison and...

Q. Comparison and Contrast between the OSI and TCP-IP Model? This presentation would discuss a few comparison and contrast between the 2 main reference models which use the con

Explain the terms - lan extension and ad hoc network, Explain the terms - L...

Explain the terms - LAN extension and Ad hoc network LAN extension: a wireless LAN integrated with a wired LAN to extend the coverage area of the LAN complex; Cross-building

Explain basic capabilities of mobile ip, Question: a) Describe the tria...

Question: a) Describe the triangular delivery and two crossing problem that appears in Mobile IP. b) Discovery, Registration and Tunneling are three basic capabilities of Mo

What are the types of transmission media, What are the types of Transmissio...

What are the types of Transmission media? Signals are usually transmitted over some transmission media that are broadly divided in to two categories:- Guided Media: Th

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

Packet, a transperent switch is inserted between two local area networks AB...

a transperent switch is inserted between two local area networks ABC and XYZ.network ABC has workstation 1,2,and 3 and Network XYZ has workstation 4,5, and 6. show the contents of

What are the benefits of intranet applications, What are the benefits of In...

What are the benefits of Intranet applications The benefits of successful Intranet applications can be enumerated as follows: Cheaper: Use of client browsers with one

Show the class D and class E addresses, Q. Show the Class D and Class E Add...

Q. Show the Class D and Class E Addresses? Class D and Class E Addresses Class D - reserved for multicast addresses Multicasting - transmission method which allo

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