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

Show the need for network layer, Q. Show the Need for Network Layer? N...

Q. Show the Need for Network Layer? Need for Network Layer - To solve the problem of delivery of data through several links. - Accountable for Host to Host delivery

Assignment, Name the three ways or wireless data to be propagated.

Name the three ways or wireless data to be propagated.

What is a lan, What is a LAN? LAN stands for Local Area Network. It ref...

What is a LAN? LAN stands for Local Area Network. It refers to the connection among computers and other network devices that are located within a small physical location.

Define the term network throughput, Network throughput It is a symptoma...

Network throughput It is a symptomatic measure of the message carrying capability of a network. It is termed as the total number of messages network can send in per unit time.

EHR, ONE TO MANY

ONE TO MANY

Explain about data link layer sub layers, Data Link Layer Sub layers ·  L...

Data Link Layer Sub layers ·  Logical Link Control (LLC) - upper layer · Handles control information, logical addressing and data · MAC (Medium Access Control) - lower layer ·

Parts count method calculation, M E T HOD OF CALCULATION It involves...

M E T HOD OF CALCULATION It involves counting the number of each part type and multiplying with the generic failure rate of each part. On summing up the product, we obtain t

Firewall, confiriguration,capabilities,implementation

confiriguration,capabilities,implementation

Describe the following topics, Describe the following topics A . LAN B . M...

Describe the following topics A . LAN B . MAN C . WAN D . ARPANET

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