Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOCKET PROGRAMMING Presented By : Divya Sharma.

Similar presentations


Presentation on theme: "SOCKET PROGRAMMING Presented By : Divya Sharma."— Presentation transcript:

1 SOCKET PROGRAMMING Presented By : Divya Sharma

2 Overview What are sockets ? What is file descriptor ? Protocols
Client – Server paradigm Socket API TCP(Transmission Control Protocol) UDP(User Datagram Protocol)

3 What are Sockets ? A socket is defined as an endpoint of communication
Service access point of TCP/IP protocol stack • between Application layer and Transport layer A file descriptor that lets an application read/write data from/to the network Once configured the application can • Send data to the socket • Receive data from the socket

4 What is file descriptor ?
Text Terminal Keyboard #x sock #stdin Program Internet #1stdout Display #2stden E.g. cout writes data to stdout #(1) cin read data from stdin #(0)

5 A socket is a file descriptor that lets an application read/write from/to the network
int fd; /*socket descriptor*/ if ((fd = socket(AF_INET, SOCK-STREAM, 0)) < 0) } fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) } perror(“socket”); exit(1); socket returns an integer(socket descriptor) fd < 0} indicates that an error occurred Socket descriptor s are similar to file descriptors AF_INET: associates a socket with the internet protocol family SOCK_STREAM: selects the TCP protocol SOCK_DGRAM: selects the UDP protocol

6 Protocols A protocol is a set of rules of communication. Protocols are the building blocks of a network architecture. Each protocol object has two different interfaces: service interface: operations on this protocol peer-to-peer interface: messages exchanged with peer Term “protocol” is overloaded specification of peer-to-peer interface module that implements this interface

7 Client - Server paradigm
Server waits for client to request a connection. Client contacts server to establish a connection. Client sends request. Server sends reply. Client and/or server terminate connection.

8 Socket API Server and client exchange messages over the network through a common Socket API CLIENTS SERVER User space PORTS TCP/UDP TCP/UDP Kernel space SOCKET API IP IP Ethernet Adapter Ethernet Adapter Hardw-are

9 Example TCP applications
Transmission Control Protocol (TCP) TCP Reliable - guarantee delivery Byte stream - in - order delivery Connection - oriented - single socket per connection Setup connection followed by data transfer Telephone call Guaranteed delivery In order delivery Connection oriented Setup connection followed by conversation Example TCP applications Web, , Telnet

10 Review: TCP Client - server interaction
TCP Server socket( ) bind( ) TCP Client listen( ) socket( ) accept( ) Connection establishment connect( ) Data request write( ) read( ) Data reply write( ) read( ) read() close( ) end – of - file notification close()

11 User Datagram Protocol (UDP)
Single socket to receive messages No guarantee of delivery Not necessarily in – order delivery Datagram - independent packets Must address each packet Post Mail Single mail box to receive letters Unreliable Not necessarily in - order delivery Letters send independently Must address each reply Example UDP applications Multimedia, voice over IP

12 blocks until datagram received from a client
Review: UDP Client – server interaction UDP Server socket( ) UDP client bind( ) socket( ) sendto( ) recvfrom( ) data request blocks until datagram received from a client data reply sendto() recvfrom( ) close( ) close( )

13 TCP vs. UDP Transmission Control Protocol (TCP)
One - to - one Connection - oriented Reliable In order delivery Transmission after connect User Datagram Protocol (UDP) One to one or many Connectionless Unreliable Unordered delivery Transmission with destination address

14 Final thoughts Make sure to #include the header files that defines used functions Check man – pages and web – site for additional information

15 Thank You


Download ppt "SOCKET PROGRAMMING Presented By : Divya Sharma."

Similar presentations


Ads by Google