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

Networks - fundamental of network , Normal 0 false false fa...

Normal 0 false false false EN-IN X-NONE X-NONE Networks A networks  consists of two  or m

Protocol software and ethernet wiring, PROTOCOL SOFTWARE AND ETHERNET WIRIN...

PROTOCOL SOFTWARE AND ETHERNET WIRING:  All wiring methods use identical Ethernet specifications. e.g. they need same message format. They need same CSMA/CD algorithems. They m

Advanced interface module and system bus, Advanced Interface Module (AIM) s...

Advanced Interface Module (AIM) socket This is an 100 pin internal socket. It is provide for plug in the Advance interface module card. Purpose of AIM card is concentrate in th

Stop service advertisements from flooding a network, To stop Service Adver...

To stop Service Advertisements (SAPs) from flooding a network, Cisco routers do not forward them. How are services advertised to other networks? Ans) Every router builds its own

Which layers are user support layers, Which layers are user support layers?...

Which layers are user support layers? Three layers are come under user support layer:- a. Session Layer b. Presentation Layer and c. Application Layer

Explain the term- gateway, What is the Gateway A Gateway is a device li...

What is the Gateway A Gateway is a device like a mini or microcomputer capable of operating on a standalone basis but which also gives connection for communication with the oth

The world wide web http, The World  Wide Web HTTP The Hyper text Tran...

The World  Wide Web HTTP The Hyper text Transfer Protocols( HTTP) is a protocols  used mainly to  access data on the world  wide  web. HTTP functions as a carbonation of FTP(

Show the routing table, Q. Show the Routing Table? Routing Table ...

Q. Show the Routing Table? Routing Table Every router remains a routing table that has one entry for every destination network of which the router is aware Proces

Assignement, I have an asignement regarding TCP tunning and optimization. C...

I have an asignement regarding TCP tunning and optimization. Can you help?

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

can you help me convert binary into decimals?

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