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

Network design, Get the network design for a company

Get the network design for a company

Describe ethernet, Describe Ethernet. Ethernet is one of the well-liked...

Describe Ethernet. Ethernet is one of the well-liked networking technologies used these days. It was developed during the early 1970s and is based on specifications as stated i

Protocol comes under hybrid dynamic type, Which protocol comes under Hybrid...

Which protocol comes under Hybrid dynamic type? Ans)  EIGRP (ENHANCED INTERIOR GATEWAY ROUTING PROTOCOL) comes under hybrid dynamic.

Hyper cube, Hyper Cube A Hypercube interconnection network is increamen...

Hyper Cube A Hypercube interconnection network is increament  of cube network. Hypercube interconnection network for n ≥ 3, can be distinct recursively as follow: For n = 3,

Firewalls, Firewalls Firewalls emerged as a new technology in 1990s but...

Firewalls Firewalls emerged as a new technology in 1990s but its idea was present near two decades back. Historical context of "Firewall" is quite literal. It was in use to des

Show the importance of security, Q. Show the Importance of Security? Th...

Q. Show the Importance of Security? The Internet presents enormous business opportunities. The Internet is open to public, vulnerable to various attacks. One of the major

What is fiber distributed data interface, FDDI -(Fiber Distributed Data Int...

FDDI -(Fiber Distributed Data Interface) FDDI Basics: FDDI (Fiber Distributed Data Interface) came about because system managers became concerned with network reliability i

Root, Originally Linux/UNIX systems had one all-powerful user called root t...

Originally Linux/UNIX systems had one all-powerful user called root that managed systems. Discuss the risks of having a single root user and how more limited management abilities c

Write the concept of simplex, Describe Concept of Simplex, Half Duplex and ...

Describe Concept of Simplex, Half Duplex and Full Duplex dialogs?

State the example of intranet security, State the example of intranet secur...

State the example of intranet security Imagine a situation when a company develops a major new product secretly using its Intranet. Hackers break the security and take away all

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