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

FlowCharts, How do I draw a flowchart and psuedocode that allows the user t...

How do I draw a flowchart and psuedocode that allows the user to input two different values and complete the sum and display the results?

Base 64 encoding, Base 64 Encoding The Simple Mail Transfer Protocol (...

Base 64 Encoding The Simple Mail Transfer Protocol (SMTP) is a protocol used on the Internet for sending email. When you send an email, your mail client establishes an SMTP co

Set up to use pvm run and complie, PVM uses two environment variables when ...

PVM uses two environment variables when starting and running. Every PVM user needs to set these two variables to use PVM. The initial variable is PVM_ROOT, which is set to the loca

Multicast extension to ospf, MOSPF MOSPF is multicast extension to OSP...

MOSPF MOSPF is multicast extension to OSPF. This protocol is extension of OSPF which is a unicast routing protocol which make MOSPF a combination of unicast and multicast prot

Determine about unique least-cost path, Determine about unique least-cost p...

Determine about unique least-cost path If there is a unique least-cost path, the two algorithms will yield the similar result because they are both guaranteed to search the lea

Network problems, Network Problems Q1  Consider the single-sender CDM...

Network Problems Q1  Consider the single-sender CDMA example in Kurose & Ross. What would be the sender's output (for the 2 data bits shown), if the sender's CDMA code were (

How do you disable advanced editing, We can deactivate advanced editing us ...

We can deactivate advanced editing us using  terminal no editing

Explain the concept of token passing, Token Passing S...

Token Passing Station is able to send only when it receives a special frame called a token Token circulates around the ring If station wishes to sen

Show the subnetting process, Q. Show the Subnetting process? Subnettin...

Q. Show the Subnetting process? Subnetting (cont) Subnetting creates an intermediary level of hierarchy IP datagram routing then involves three steps: delivery t

No retransmission - transport layer, No Retransmission This  protocols...

No Retransmission This  protocols  will not  through  the correctly received packets  but buffers than  and send  acknowledgment  for those packets. Thus  retransmission of th

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