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

Describe asynchronous vs. synchronous transmission, Serialized data is not ...

Serialized data is not generally sent at a uniform rate by a channel. Instead, there is usually a burst of regularly spaced binary data bits followed by a pause, after which the da

Describe the concept of successor and feasible successor, Describe the conc...

Describe the concept of successor and feasible successor?

Why it is essential to have layering in a network, Q. Why it is essential t...

Q. Why it is essential to have layering in a network? Ans: A computer network is a very complicated system. It becomes very hard to implement as a single entity. The layered ap

State the example of intranet security, State the example of intranet secur...

State the example of intranet security Imagine a situation when a company develops a major new product secretly using its Intranet. Hackers break the security and take away all

What do you mean by platform independence, What do you mean by platform ind...

What do you mean by platform independence? Platform independence means that we can write and compile the java code in one platform (eg Windows) and can implement the class in a

Describe the omni-directional and the directional antennas, Question: a...

Question: a) Describe the following two approaches used towards wireless frequency regulation. i. Regulated Band ii. Unlicensed Band b) An antenna is an electrical c

Which applications of computer network will be categorized, Q. What are the...

Q. What are the main categories based on which applications of computer network will be categorized? Ans: The main areas under which the applications for computer network will

Determine the term - mobility, Determine the term - Mobility Mobility ...

Determine the term - Mobility Mobility refers to the types of physical transitions that can be done by a mobile node within an 802.11 environment (no transition, movement from

What is redirector in networking, What is redirector in Networking? Red...

What is redirector in Networking? Redirector is software that intercepts file or prints I/O requests and changes them into network requests. This comes under presentation layer

Access-list range for an extended ip access-list, Recognize the access-list...

Recognize the access-list range for an extended IP access-list? Ans) IP extended access-lists use the number range of 100-199.

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