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

What is dns, What is DNS? DNS is Domain Name System. The major f...

What is DNS? DNS is Domain Name System. The major function of this network service is to provide host names to TCP/IP address resolution.

Comp architecture, In reg-mem architecture, clock cycle is 10 ns wide. It i...

In reg-mem architecture, clock cycle is 10 ns wide. It is proposed that reg-reg architecture be used instead, that reduces the clock cycle by 2 ns. However, it requires an addition

What is on electronic payment system, What is on electronic payment system?...

What is on electronic payment system? Electronic payment systems are alternative cash credit payment methods using several electronic methods to pay for products and services in

Explain the layer which is closer to the user, There is only an applicatio...

There is only an application layer which is closer to user and also gives many application which user directly linked.for ex:- web browser

Explain bus topology, Explain Bus Topology. The physical Bus topology i...

Explain Bus Topology. The physical Bus topology is the easiest and most widely used of the network designs. It having of one continuous length of cable (trunk) and a terminatin

Determine the types of intranet, Determine the Types of intranet Intran...

Determine the Types of intranet Intranets have been broadly classified into three types based on their functionality, viz., The Bulletin Board, Database Management and

What is a counter, What is a Counter A software code that indicates ...

What is a Counter A software code that indicates how many times a site has been visited. It gets automatically updated and is usually represented by a small rectangle with n

Virtual private network vpns, Virtual Private Network  ( VPNs) When we ...

Virtual Private Network  ( VPNs) When we use the  internet  or the  risks to the security of our data  arise. The solve the security problem a virtual private network  used for

How many cycles are lost for instruction accessing memory, 1.  A computer s...

1.  A computer system has a two-level memory cache hierarchy. The L1 cache has a zero hit penalty, a miss penalty of 5 ns and a hit rate of 95 percent. The L2 cache has a miss pena

#title.assignment., hii i want to make a assignment from you. please help m...

hii i want to make a assignment from you. please help me.

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