API
-
Upload
nithya-nithya -
Category
Engineering
-
view
19 -
download
0
Transcript of API
![Page 1: API](https://reader037.fdocuments.in/reader037/viewer/2022083111/58f9ad191a28ab356c8b45d3/html5/thumbnails/1.jpg)
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](https://reader037.fdocuments.in/reader037/viewer/2022083111/58f9ad191a28ab356c8b45d3/html5/thumbnails/2.jpg)
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](https://reader037.fdocuments.in/reader037/viewer/2022083111/58f9ad191a28ab356c8b45d3/html5/thumbnails/3.jpg)
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](https://reader037.fdocuments.in/reader037/viewer/2022083111/58f9ad191a28ab356c8b45d3/html5/thumbnails/4.jpg)
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](https://reader037.fdocuments.in/reader037/viewer/2022083111/58f9ad191a28ab356c8b45d3/html5/thumbnails/5.jpg)
COPYING MESSAGE BETWEEN APPLICATION AND NETWORK BUFFER