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

Subnetting (EIGRP), #questiGE 1-A Objectives: • Consolidate EIGRP knowle...

#questiGE 1-A Objectives: • Consolidate EIGRP knowledge. • Introduce the Route Redistribution concept. • Introduce the EIGRP External Routes concept. • Introduce the Default Met

What is meant by transparency, Transparency really means adumbrating the ne...

Transparency really means adumbrating the network and its servers from the users and even the application programmers.

What is error detection, What is Error Detection? What are its methods? ...

What is Error Detection? What are its methods? Data can be corrupted during transmission. For reliable communication errors must be deducted and corrected. Error Detection uses

Define the term - store-and-forward and cut-through switch, Store-and-forwa...

Store-and-forward switch  The layer 2 switch accepts a frame on an input line, buffers it briefly, and then routes it to the appropriate output line. Cut-through switch

Designing an internet work, 1. Introduction This document describes t...

1. Introduction This document describes the research-based assignment for this module. This assignment consists of two parts: A formal report And a presentatio

Link-state routing, In link-state routing network topology is filled from...

In link-state routing network topology is filled from route calculation. Switches send link-state information about local joins. Every switch creates own routing tables. It needs

Icmp process, Some of the ?elds of IP and ICMP datagrams will be ?xed, some...

Some of the ?elds of IP and ICMP datagrams will be ?xed, some will be settable by the application, and others will computed according to the situation. You must set all ?elds of th

Show the subnetting process, Q. Show the Subnetting process? Subnettin...

Q. Show the Subnetting process? Subnetting (cont) Subnetting creates an intermediary level of hierarchy IP datagram routing then involves three steps: delivery t

What are the key benefits of layered network, What are the key benefits of ...

What are the key benefits of layered network? Main advantages of layered network are given below: a) Complex systems can be split into understandable subsystems. b) Any f

Create a client and a server - message queues & socket, Lab will require yo...

Lab will require you to create a client and a server that communicate over either message queues, sockets, or a well known fifo. The data passed will be a simple request/response i

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