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

Architecture of cisco ios software, Architecture of Cisco IOS software ...

Architecture of Cisco IOS software Cisco IOS might not  applications like ms word,multimedia softwares. It is mainly for switching data packet and concentrated on switching p

What is medium access control of ethernet, What is Medium Access Control of...

What is Medium Access Control of Ethernet? The set of rules which make sure that each node in an Ethernet gets a fair amount of frame transmission opportunity, are known as the

Networks edge and technologies - computer networks , Networks Edge  and Te...

Networks Edge  and Technologies Network  Edge  provides  information  exchange  between  the access network  and the core  network. The devices  and facilities in the network

What is money laundering and how is money laundered, Question: a) (i)...

Question: a) (i) Describe the entire process of credit card processing, identifying the different steps and parties involved. (ii) What are the roles of the acquiring ban

Difference between trigger and rule, What is the difference between trigger...

What is the difference between trigger and rule? Ans) The triggers are known as implicitly by database generated events, whereas stored procedures are known as explicitly by cli

Hierarchy of dns servers application layer , Hierarchy of DNS Servers ...

Hierarchy of DNS Servers DNS uses a large number of server organized in hierarchical  fashion  and distribution  around the world. No single DNS server has all  of the  mappin

Metropolitan area network ( man)- fundamentals of networks , Normal 0 ...

Normal 0 false false false EN-IN X-NONE X-NONE Metropolitan area Network ( MAN) Metropoli

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