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

Fiber-optic cable as transmission media, Q. Fiber-Optic Cable as transmissi...

Q. Fiber-Optic Cable as transmission media? - Made of glass signals are transmit like light pulses from an LED or laser - Light is as well a form of electromagnetic energy

What is difference among flsm and vlsm, In FLSM subnet mask of all subnets ...

In FLSM subnet mask of all subnets will b same. But in FLSM it changes.

Types of Networking, How can I identify the difference types of networks

How can I identify the difference types of networks

Write examples of the transport layer, Example of transport layer are:- ...

Example of transport layer are:- a) TCP is connection oriented. b) UDP is connectionless

Analysis of the ethical issue, This ICT-related issue that has been raised ...

This ICT-related issue that has been raised in the contemporary media, and the article is required to be included as part of the essay: Undertake further research about this top

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

Define post office and lightweight directory access protocol, Post Office P...

Post Office Protocol and Lightweight Directory Access Protocol POP: Post Office Protocol is a used by mail clients to download messages from a mail server on the Internet. L

Ccna, Can you do my ccna assignment

Can you do my ccna assignment

Advantages and disadvantages of client-server method, 1. Write a critical a...

1. Write a critical analysis of the client/server vs. service architecture method for developing service architectures.  You must explain what the client/server method is in terms

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