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 devices - network layer and routing , Network Devices a.Hub ...

Network Devices a.Hub b.Repeater c.Bridge d.Gateway e.Switch f.Router Connecting devices can  classified  into networking and internetworking  devices when

Illustrate about OSI architecture, Explain ISO's OSI Architecture The O...

Explain ISO's OSI Architecture The Open System Interconnection (OSI) is a standard reference model for communication among two end users in a network. It is used in developing

What is oltp, In the transaction server, the client component usually consi...

In the transaction server, the client component usually consists of GUI and the server components usually having of SQL transactions against a database. These applications are know

Show the network criteria, Network Criteria - Performance - It is able...

Network Criteria - Performance - It is able to be measured by transit time and response time. Affected by type of medium, number of users and connected HW/SW - Reliability

Distributed data processing, In distributed data processing, explain two sc...

In distributed data processing, explain two scenarios where vertical partitioning and horizontal partitioning are used. Distributed Data Processing The distributed data pro

Diffrence between network vs internet layers, Q. Diffrence between Network ...

Q. Diffrence between Network vs Internet Layers? - Similar to all the other OSI Layers the network layer provides both connectionless and connection-oriented services. From th

Verify vlans and trunking - ccna, Verify VLANs and trunking. Use the sh...

Verify VLANs and trunking. Use the show ip interface trunk command on S1 and the show vlan command on S2 to determine that the switches are trunking correctly and the proper VL

State the latest technology in the line of intranet, State the latest techn...

State the latest technology in the line of Intranet The latest technology in the line of Intranet tools has been the Web-based Distributed Authoring and Versioning (WebDAV), w

What are the key differences between gsm and gprs networks, Question : ...

Question : a) Describe the following core components of a cellular based network: i) Cell ii) MSC iii) HLR & VLR iv) PSTN b) Explain why frequency reuse is consi

Configure the management interface- spanning tree protocol, Configure the m...

Configure the management interface address on all three switches.  S1(config)#interface vlan1 S1(config-if)#ip address 172.17.10.1 255.255.255.0 S1(config-if)#no shutdown

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