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

What is the structure of ip multicast address, Question : (a) Several ...

Question : (a) Several techniques are now available for users to connect to the Internet. (i) A modem is commonly used to dial up to the Internet. Why is a modem needed fo

Distinguish cisc and risc, Question 1 Distinguish CISC and RISC Question ...

Question 1 Distinguish CISC and RISC Question 2 Write a short note on Asynchronous Transfer Mode of transmission Question 3 Explain various client/server applications using Ja

Explain inference, What is inference? Ans) The principle of "inference"...

What is inference? Ans) The principle of "inference" is fairly a simple one: being capable to derive new data from data that you already know. In a mathematical sense, querying

Explain about horn antenna, Q. Explain about Horn Antenna? - Outgoing t...

Q. Explain about Horn Antenna? - Outgoing transmissions broadcast by a stem and deflected outward - Received transmissions collect by a scooped part of the horn and deflecte

What are the various security measures, What are the various security meas...

What are the various security measures A matter of prime concern to companies is the overheads in the form of huge investment on extra hardware and software. It is quite possi

Explain the term instruction pipelines, Instruction Pipelines The strea...

Instruction Pipelines The stream of instructions in instruction execution cycle may be realized by a pipeline where overlapped executions of various operations are performed. T

What is dynamic host configuration protocol, How does dynamic host configur...

How does dynamic host configuration protocol aid in network administration? Instead of having to visit every client computer to configure a static IP address, the network admin

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