API

5
DEFINITION AN API IS SET OF COMMANDS,FUNCTION,AND PROTOCOL WHICH PROGRAMMERS CAN USE WHEN BUILDING SOFTWARE FOR A SPECIFIC OPERATING SYSTEM. A SOCKET IS ONE ENDPOINT OF A TWO-WAY COMMUNICATION LINK BETWEEN TWO PROGRAM RUNNING ON THE NETWORK. AN ENDPOINT IS A COMBINATION OF IP ADDRESS AND PORT ADDRERSS. THE ADVANTAGE OF API IS THE PORTABLITY. TWO THINGS FOR SOCKET INTERFACE: EACH PROTOCOL PROVIDES A CERTAIN SET OF SERVICES AN API PROVIDES A SYNTAX BY WHICH THE SERVICES CAN BE INVOKED TO A PARTICULAR OS. USES PREDEFINED FUNCTION TO INTERACT WITH THE OPERATING SYSTEM. IT IS ALSO USED FOR VEDIO GAME CONSOLES AND OTHER HARDWARE DEVICES STEPS 1 .CREATING A SOCKET INT SOCKET (INT FAMILY, INT TYPE, INT PROTOCOL); CREATING A SOCKET IS SIMILAR TO OPENING A FILE. PARAMETERS: FAMILY : AF INET TYPE : SOCK_STREAM PROTOCOL : IPPROTO_TCP 2. BINDING AN ADDRESDS AND PORT NUMBER INT BIND (INT SOCKET_FILE_DESCRIPTOR, CONST STRUCT SOCKADDR*LOCALADDRESS SOCKLEN_TADDRESSLENGTH);

Transcript of API

Page 1: API

DEFINITIONAN API IS SET OF COMMANDS,FUNCTION,AND PROTOCOL WHICH PROGRAMMERS CAN USE WHEN BUILDING SOFTWARE FOR A SPECIFIC OPERATING SYSTEM.

A SOCKET IS ONE ENDPOINT OF A TWO-WAY COMMUNICATION LINK BETWEEN TWO PROGRAM RUNNING ON THE NETWORK.

AN ENDPOINT IS A COMBINATION OF IP ADDRESS AND PORT ADDRERSS. THE ADVANTAGE OF API IS THE PORTABLITY. TWO THINGS FOR SOCKET INTERFACE:

EACH PROTOCOL PROVIDES A CERTAIN SET OF SERVICES AN API PROVIDES A SYNTAX BY WHICH THE SERVICES CAN BE

INVOKED TO A PARTICULAR OS.

USES PREDEFINED FUNCTION TO INTERACT WITH THE OPERATING SYSTEM. IT IS ALSO USED FOR VEDIO GAME CONSOLES AND OTHER HARDWARE

DEVICES

STEPS1 .CREATING A SOCKET INT SOCKET (INT FAMILY, INT TYPE, INT PROTOCOL);

CREATING A SOCKET IS SIMILAR TO OPENING A FILE.

PARAMETERS: FAMILY: AF INET TYPE: SOCK_STREAM PROTOCOL: IPPROTO_TCP

2. BINDING AN ADDRESDS AND PORT NUMBER

INT BIND (INT SOCKET_FILE_DESCRIPTOR, CONST STRUCT SOCKADDR*LOCALADDRESS SOCKLEN_TADDRESSLENGTH);

WE NEED TO ASSOCIATE AN IP ADDRESS AND PORT NUMBER TO OUR

APPLICATION.

3. LISTEN FOR INCOMING CONNECTIONS

Page 2: API

INT LISTEN (INT SOCKET_FILE_DESCRIPTOR, INT BACKLOG);

BINDING IS LIKE WAITING BY A SPECIFIC PHONE IN YOUR HOUSE AND LISTENING IS WAIT TO RING.

4. ACCEPTING A CONNECTION INT ACCEPT (INT SOCKET_FILE_DESCRIPTOR, STRUCT

SOCKADDR*CLIENTADDRESS, SOCKEN_T*ADDRLEN);

THE ACCEPT()RETURNS A NEW SOCKET FILE DESCRIPTOR FOR THE PURPOSE OF READING AND WRITING TO THE CLIENT.

PROGRAM FOR SERVER:IMPORT JAVA.NET.*;IMPORT JAVA.IO.*;PUBLIC CLASS SIMPLESERVER{PUBLIC STATIC VOIDMAIN(STRING ARGS[])THROWS IOEXCEPTION{SERVERSOCKET S=NEW SERVERSOCKET(1254); //OPEN THE SERVER ON PORT 1254SOCKET S1=S.ACCEPT(); //WAIT AND ACCEPT A CONNECTIONOUTPUTSTREAM S1OUT=S1.GETOUTPUTSTREAM(); //CREATE I/O STREAMDATAOUTPUTSTREAM DOS=NEW DATAOUTPUTSTREAM(S1OUT);DOS.WRITEUTF(“HI THERE”); //SEND A STRINGDOS.CLOSE(); //CLOSE THE CONNECTION BUT NOT SERVER SOCKETS1OUT.CLOSE();S1CLOSE();}}

PROGRAM FOR CLIENTIMPORT JAVA.NET.*;IMPORT JAVA.IO.*;PUBLIC CLASS SIMPLECLIENT{PUBLIC STATIC VOIDMAIN(STRING ARGS[])THROWS IOEXCEPTION{SOCKETS1=NEWSOCKET(“LOCALHOST”,1254); //CREATE A SOCKET AT PORT 1254INPUTSTREAM S1IN=S1.GETINPUTSTREAM(); //GET AN INPUT FILE HANDLE

FROM THE SOCKET AND READ THE INPUTDATAINPUTSTREAM DIS=NEW DATAINPUTSTREAM(S1IN);STRING ST=NEW STRING(DIS.READUTF());SYSTEM.OUT.PRINTLN(ST);

Page 3: API

DIS.CLOSE(); //CLOSE THE SOCKETS1IN.CLOSE();S1.CLOSE();}}

PROCESS MODEL ALL THE POPULAR OPERATING SYSTEM PROVIDE AN ABSTRACTION CALLED

A PROCESS OR A THREAD. THE PROCESS ABSTRACTION MAKES THE OS TO HAVE A LOT OF THINGS

EXECUTING CONCURRENTLY. FOR DESIGNING THE NETWORK SUBSYSTEM,TWO CHOICES:

THE PROCESS-PER-PROTOCOL MODEL.THE PROCESS-PER-MESSAGE MODEL.

PROCESS-PER-PROTOCOL MODEL IN THE PROCESS-PER-PROTOCOL MODEL,EACH PROTOCOL IS IMPLEMENT BY A SEPARATE PROCESS. WHEN A MESSAGE UP OR DOWN THE PROTOCOL STACK,IT IS PASSED FROM ONE PROCESS/PROTOCOL TO ANOTHER.

PROCESS-PER-PROTOCOL

PROCESS-PER-MESSAGE MODEL IN THE PROCESS-PER-MESSAGE MODEL,EACH PROTOCOL IS TREATED AS A STATIC PIECE OF CODE AND ASSOCIATE THE PROCESSES WITH THE MESSAGE.

Page 4: API

PROCESS-PER-MESSAGE

MESSAGE BUFFERSTHE APPLICATION PROCESS PROVIDE THE BUFFER TO HOLD THE OUTBOUND MESSAGE DURING OPERATION AND FOR THE INCOMING MESSAGE DURING THE RECEIVER OPERATRION.

Page 5: API

COPYING MESSAGE BETWEEN APPLICATION AND NETWORK BUFFER