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

Optimizing stp, Optimizing STP  Because there is a separate instance of ...

Optimizing STP  Because there is a separate instance of the spanning tree for every active VLAN, a separate root election is conducted for each instance. If the default switch p

What is the advantage of address sharing, What is the advantage of address ...

What is the advantage of address sharing? By using address translation instead of routing, address sharing gives an inherent security benefit. That's because host PCs on the In

Explain in brief about crc, What is CRC The CRC is computed while trans...

What is CRC The CRC is computed while transmission and appended to output stream as soon as last bit goes out onto wire. If the CRC were in header, it will be necessary to make

What is a file server, What is a File server? File servers are helpful ...

What is a File server? File servers are helpful for sharing files across a network. With a file server, the client passes requests for file records over system to file server.

LAN, categories of LAN

categories of LAN

Architecture of cisco ios software, Architecture of Cisco IOS software ...

Architecture of Cisco IOS software Cisco IOS might not  applications like ms word,multimedia softwares. It is mainly for switching data packet and concentrated on switching p

What is a binary semaphore, What is a binary semaphore? What is its u...

What is a binary semaphore? What is its use? A binary semaphore is takes only 0 and 1 as values. They are used to execute mutual exclusion and synchronize concurrent p

Illustrate data-link layer in osi layers model, Q. Illustrate Data-Link Lay...

Q. Illustrate Data-Link Layer in osi layers model? Data-Link Layer: This layer takes the data messages or frames from the Network Layer and gives for their actual transmissio

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