Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sockets API Overview Sockets with UDP Sockets with TCP Fast Sockets (Fast UDP) IP Multicasting.

Similar presentations


Presentation on theme: "Sockets API Overview Sockets with UDP Sockets with TCP Fast Sockets (Fast UDP) IP Multicasting."— Presentation transcript:

1 Sockets API Overview Sockets with UDP Sockets with TCP Fast Sockets (Fast UDP) IP Multicasting

2 Sockets Overview WHAT IT IS: Used by applications to send and receive data over TCP/IP networks WHAT IT DOES: Supports UDP and TCP protocols Sends and receives data between applications SET-UP CONDITIONS: Socket() call creates communications endpoints Bind() links a network address to the socket Other calls depend on the protocol

3 Socket-Layer Protocols Application Level Network Communication Protocols Ride on Top of Either TCP/IP for Guaranteed Delivery or UDP/IP for Minimizing Network Traffic (not Guaranteed) Inconspicuous Communication for Security Socket Connection Socket INTERNET

4 Possible Socket Implementations Client Socket Connection Server TCP Connection Client creates socket, requests connection on specific IP port. Server must have been passively ‘listening’ on that port. Terminal Socket Connection Terminal UDP Connection Socket created on specific port, data is sent without connection established. Remote terminal must have been passively ‘listening’ on that port.

5 Sockets Flow - UDP DATA PIPE Device 1Device 2 Create Bind SendTo RecvFrom NETWORK

6 DATA PIPE ClientServer Send Recv Connect Bind Listen Accept Create Sockets Flow - TCP NETWORK (Associate Socket with own IP addr, port)

7 Example API call Declaration int connect(int socket_descriptor, struct sockaddr_in *ptr2Inet_socket_addr_struct, int addrlen); Establish Connection /* Setup the server's sockaddr_in struct */ bzero(&serverAddress, sizeof(serverAddress)); serverAddress.sin_family = AF_INET; serverAddress.sin_port = htons(13); serverAddress.sin_addr.s_addr = htonl(0xC75CBA53); /* 199.92.186.83 */ int rc = (connect(69, &serverAddress, sizeof(serverAddress)); Return value 0 if successful, otherwise -1. #include

8 Fast UDP (Fast Sockets) Socket-like API that bypasses most of the stack Advantages of Fast UDP API: performance - potentially double the data rate Advantages of Normal Sockets API: portable, richer API, TCP support Utilizes a different set of API calls

9 Fast UDP vs. Standard Socket API’s Standard –accept –bind –connect –closesocket –connect –getpeername –gGetsockname –getsockopt –listen –recv –recvfrom –send –sendto –setsocketopt –shutdown –socket Fast UDP –fBind –fGetBuf –fSendTo –fSockInit –fSocket –fSocketClose

10 IP Multicasting NET+OS TCP/IP supports Level 2 IP multicast as defined by RFC 1112, which includes sending and receiving IP multicast packets and implementation of the Internet Group Membership Protocol (IGMP) V1. To enable a static interface to have multicast capability, the n_mcastlist field of the netstatic entry to point be set to a call back function, mcastlist. The function mcastlist is defined in the file narmenet.c (in the src\bsp directory). If n_mcastlist field of a static interface be set to NULL, that interface won't be able to send/receive multicast packets. The setsockopt() function is used to add/delete memberships and set multicast options for a particular socket.


Download ppt "Sockets API Overview Sockets with UDP Sockets with TCP Fast Sockets (Fast UDP) IP Multicasting."

Similar presentations


Ads by Google