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

Fiber optic cable - computer network, Fiber Optic Cable A fiber  opt...

Fiber Optic Cable A fiber  optic  cable is made  of glass or plastic and transmits signals in the form of light pulses. An optical fiber  is a thin  flexible medium  conducts

Categories of networks, Distance covered, Based on size, ownership and phys...

Distance covered, Based on size, ownership and physical architecture - LAN (Local Area Network) - Suitable for smaller geographical area - MAN (Metropolitan Area Network) - S

What is man, What is MAN? MAN - Metropolitan Area Networks. MAN is b...

What is MAN? MAN - Metropolitan Area Networks. MAN is bigger than a LAN and as its name implies, covers the area of a single city. MANs rarely extend beyond 100 KM and frequ

Projecr assingment, I have a project that need to be submit as soon as poss...

I have a project that need to be submit as soon as possible

Asynchronous transfer mode (atm), Telephone companies (Telco's) stated ATM ...

Telephone companies (Telco's) stated ATM to meet various goals. It gives universal service for all support and subscribers for all users for video, voice and data. It has a single

Enumerate about the server modules, Enumerate about the server modules ...

Enumerate about the server modules WebDAV is one of the best-used server modules and many companies developing Intranet software or groupware as well as various publishing and

What are diagrams and trigrams, What are Diagrams and Trigrams? The mos...

What are Diagrams and Trigrams? The most ordinary two letter combinations are known as diagrams. e.g. th, in, er, re and an. The most common three letter combinations are known

State about transcontinental ?ber, State about transcontinental ?ber A ...

State about transcontinental ?ber A transcontinental ?ber link may have many gigabits/sec of the bandwidth, but latency will also be high due to speed of light propagation abov

How l2f establishes the tunnel, Can you describe the broader steps of how L...

Can you describe the broader steps of how L2F establishes the tunnel?

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