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

Bit stuffing, bit stuffing program in python

bit stuffing program in python

Maximum packet lifetime, Take the maximum packet lifetime, T.  It's stated ...

Take the maximum packet lifetime, T.  It's stated that T must be big enough to make sure the packet and its ACK have vanished.  Why do we have to have the ACK?

Define what is the mac address, When you move the NIC cards from one PC to ...

When you move the NIC cards from one PC to another PC, does the MAC address gets transferred as well? Yes, that's because MAC addresses are hard-wired into the NIC circuitry, n

Private network, Single company or organization owns this. They are usually...

Single company or organization owns this. They are usually LAN technologies. There can be multiple LANs in a campus or building linked together. They are sometimes known Intranet.

Working of TCP - buffers, Q. Working of  TCP - buffers? TCP - buffers ...

Q. Working of  TCP - buffers? TCP - buffers Sending & receiving buffers - Processes don't consume data at the same speed Sending site: - White section: unfilled

State the disadvantages of adaptive routing process, State the Disadvantage...

State the Disadvantages of adaptive routing process  (1) The routing decision is more difficult; thus, the processing burden on network nodes enhances. (2) In most cases, ad

What is star topology, What is Star topology Each station is directly c...

What is Star topology Each station is directly connected to a common central node. Typically, each station attaches to a central node via two point-to-point links, one for tran

Access networks and physical media - computer network, Access Networks and ...

Access Networks and Physical Media Access  networks  are the  physical  links(S) that connect  an end  systems to its edge  router. Which  is the  first router on a path  fr

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