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

Who initiates the ‘trap'' message, Question 1 Who initiates the ‘Trap' mes...

Question 1 Who initiates the ‘Trap' message? When is this message generated? Question 2 Discuss the features of a typical Network Management System.List (Fault Management,

What is the administrative distance for igrp, IGRP is a distance vector rou...

IGRP is a distance vector routing protocol designed by Cisco. The maximum hop count is 255, and it uses a combination of variables to verify a composite metric. IGRP has an adminis

INAB-426-, As• New Content (Week 5) o System Integration Implementation P...

As• New Content (Week 5) o System Integration Implementation Plan ? Develop a detailed implementation plan that captures the following (address 4 of these): ? Testing activitie

What is bia, Burn in Address other name is MAC address

Burn in Address other name is MAC address

Ccna, Can you do my ccna assignment

Can you do my ccna assignment

Define what is interior and exterior routing protocol, Can you define what ...

Can you define what is interior and exterior routing protocols?

How can you identify the ip class of a given ip address, How can you identi...

How can you identify the IP class of a given IP address? By looking at the first octet of any given IP address, you can recognize whether it's Class A, B or C. If the first oct

Point-to-point message passing, In point-to-point message passing, single p...

In point-to-point message passing, single process sends/receives message to/from another process. There are four communication modes for sending a message: i)    Buffered mode

What is network layer of osi model, Q. What is network layer of osi model? ...

Q. What is network layer of osi model? - Describe end-to-end delivery of packets. - Defines logical addressing thus that any endpoint can be identified. - Defines how ro

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