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

Define the term - hot swapping, Define the term - Hot swapping The rel...

Define the term - Hot swapping The reliability of the machine can be dramatically improved by installing the best components. Hot swapping is a concept through which component

Explain the building blocks of client/server, The client side building bloc...

The client side building block moves towards the client side of the application. The server side building block moves towards the server side of the application.

Difference between routable and non- routable protocols, What is the differ...

What is the difference between routable and non- routable protocols? Routable protocols can work with a router and can be used to make huge networks. Non-Routable protocols

Compare delays in packet switching and circuit switching, In this question,...

In this question, you will compare delays in packet switching (i.e. in IP networks), in circuit switching (i.e. in PSTN telephony) and in virtual circuit packet switching (i.e. in

What is data representation, Q. What is Data Representation? Informatio...

Q. What is Data Representation? Information Today arrives in different forms such as numbers, text, images, audio and video. Text: Represented like a bit pattern a sequence

What advantages does fiber optics have over other media, What advantages do...

What advantages does fiber optics have over other media? One main advantage of fiber optics is that is it less susceptible to electrical interference. It also supports higher ba

Fiber-optic cable as transmission media, Q. Fiber-Optic Cable as transmissi...

Q. Fiber-Optic Cable as transmission media? - Made of glass signals are transmit like light pulses from an LED or laser - Light is as well a form of electromagnetic energy

Explain the lan topologies, LAN Topologies The term topology explains t...

LAN Topologies The term topology explains the geographic arrangement of networking devices. It explains the actual layout of the network hardware. Given the location of worksta

Explain token passing -token ring, Token Passing - Token Ring (IEEE 802.5) ...

Token Passing - Token Ring (IEEE 802.5) Needs that station take turns sending data Token passing coordinates process Token is a especially formatted three-byte fr

Discuss user datagram protocol, Problem 1 Bring out the differences bet...

Problem 1 Bring out the differences between POP and IMAP4 Problem 2 Discuss User Datagram protocol Problem 3 Explain the various steps in TCP congestion control

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