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

How is hop-by-hop segmentation of the ipv6 packets avoided, Question 1: ...

Question 1: (a) How are IPv4 addresses transformed into IPv6 addresses using IPv4 compatible addresses? (b) Name some of the simplifications that were introduced in IPv6.

Define ike modes, Normal 0 false false false EN-IN X-...

Normal 0 false false false EN-IN X-NONE X-NONE MicrosoftInternetExplorer4

What is difference between igp and eigrp, IGP= Interior gateway routing pro...

IGP= Interior gateway routing protocol and EIGRP= Enhanced Interior Gateway routing protocol IGP = use in one Autonomous and EIGRP = use with many autonomous

What are the benefits of wireless devices, What are the benefits of wireles...

What are the benefits of wireless devices One benefit is that if everyone uses standard, everyone can talk to anyone. Another benefit is that extensive use of any standard will

Configure ip settings for the linksys wrt300n- ccna, Configure IP Settings ...

Configure IP Settings for the Linksys WRT300N The best way to understand the following settings is to think of the WRT300N as being same to a Cisco IOS-based router with two di

Flash-nvram-system buffer-interface buffer, Flash It is also permanent...

Flash It is also permanent storage device. It stores the compressed form of Cisco IOS software image and the NVRAM data. Device structure One flash socket Support 80

Uses of fragmentation and reassembly, Uses of fragmentation and reassembly ...

Uses of fragmentation and reassembly The More bit is used for fragmentation and reassembly. If this bit is 0, then either there has been no fragmentation of this packet or this

Define the types of computer network, Define the Types of Computer Network ...

Define the Types of Computer Network Computer networks fall into three classes regarding the size, distance and the structure namely: LAN (Local Area Network), MAN (Metropolita

Introduction-pram algorithms, One of the most popular models for designing ...

One of the most popular models for designing parallel algorithms is PRAM (Parallel Random Access Machine). A PRAM consists of unbounded number of processors interrelating with each

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