1 / 10

Sockets API

Sockets API. Overview Sockets with UDP Sockets with TCP Fast Sockets (Fast UDP) IP Multicasting. 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

zody
Download Presentation

Sockets API

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 INTERNET Socket Socket Connection

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

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

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

  7. Example API call #include <sockapi.h> 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.

  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. 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 Fast UDP vs. Standard Socket API’s

  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.

More Related