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

Explain the communication channel threats, Q. Explain the Communication Cha...

Q. Explain the Communication Channel Threats? Secrecy Threat - Secrecy is the avoidance of unauthorized information disclosure - Privacy is the guard of individua

Show the flow characteristics, Q. Show the Flow characteristics? Flow ...

Q. Show the Flow characteristics? Flow characteristics Reliability - if lacking means that packets or ACKs are lost - more important with FTP, SMTP than with audio

What are all the base services provided by the os, What are all the Base se...

What are all the Base services provided by the OS? Interprocess communications (IPC) Task preemption Task priority Local/Remote Interprocess communication Semaphor

Features of transmission control protocol, The major features of TCP are fo...

The major features of TCP are following: Reliability : TCP ensures that any data sent by a sender arrives at the destination as it was sent. There cannot be any data loss or mo

Higher bandwidth - computer network, Higher bandwidth Fibre  optic  ...

Higher bandwidth Fibre  optic  cable an  support  dramatically higher bandwidths than  either   twisted pair or  coaxial  cable currently data rates  and bandwidth utilizatio

Tech ed, can you help me convert binary into decimals?

can you help me convert binary into decimals?

Explain different protocols of internet, WEB TECHNOLOGY 1. Explain diff...

WEB TECHNOLOGY 1. Explain different protocols of internet. 2. Differentiate between DHTML and HTML. 3. What do you understand by Event-driven Programming? Classify differ

Distributed Algorithms, can we solve the problem using bounded buffer space...

can we solve the problem using bounded buffer space if the propagation delay is arbitrarily large ?

Determine the term - mobility, Determine the term - Mobility Mobility ...

Determine the term - Mobility Mobility refers to the types of physical transitions that can be done by a mobile node within an 802.11 environment (no transition, movement from

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