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

Coaxial applications and performance, Coaxial Applications & Performance ...

Coaxial Applications & Performance - Analog plus digital phone networks - Cable TV networks - Traditional Ethernet LANs - Power line and Home Networks-phone line -

What are the benefits of layered network, Q. What are the benefits of layer...

Q. What are the benefits of layered network? Ans: Basic benefits of layered network are given below: -  Complex systems will be broken down into understandable subsystems.

Prepare the network of spanning tree protocol -ccna, Prepare the Network  ...

Prepare the Network  Step 1: Disable all ports by using the shutdown command. Ensure that the initial switch port states are inactive with the shutdown command. Use the inter

Electronic mail - application layer, Electronic Mail One  of the  most...

Electronic Mail One  of the  most popular internet  services is electronic mail ( e mail). At  the beginning  of the internet era teh message sent by  electronic  mail were sh

How to install an anti-virus program, In a network that contains two server...

In a network that contains two servers and twenty workstations, where is the best place to install an Anti-virus program? An anti-virus program must be installed on all servers

What is a jam signal, What is a jam signal A jam signal is broadcasts ...

What is a jam signal A jam signal is broadcasts to network by the transmitting stations that detected the collision to ensure that all stations know of the collision. Every st

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

Layered architecture - computer network, Layered Architecture The best...

Layered Architecture The best  way to  understand  any complex system is to break  it into  pieces  and then analyze what they  do and  how they interact. The most logical app

Describe techniques used in location based services, Question: a) Comp...

Question: a) Compare Bluetooth and WIFI based networks over the following factors: Data rate, Range, Application Focus, Battery Power, Frequency Band, Security. b) Differe

Why it is necessary to have layering in a network, Why it is necessary to h...

Why it is necessary to have layering in a network? A computer network is a very complex system. It becomes very difficult to execute as a single entity. The layered approach di

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