SlideShare uma empresa Scribd logo
1 de 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 .CREATINGA 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
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. ACCEPTINGA 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.
PROGRAMFORSERVER:
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 1254
SOCKET S1=S.ACCEPT(); //WAIT AND ACCEPT A CONNECTION
OUTPUTSTREAM S1OUT=S1.GETOUTPUTSTREAM(); //CREATE I/O STREAM
DATAOUTPUTSTREAM DOS=NEW DATAOUTPUTSTREAM(S1OUT);
DOS.WRITEUTF(“HI THERE”); //SEND A STRING
DOS.CLOSE(); //CLOSE THE CONNECTION BUT NOT SERVER SOCKET
S1OUT.CLOSE();
S1CLOSE();
}
}
PROGRAMFORCLIENT
IMPORT JAVA.NET.*;
IMPORT JAVA.IO.*;
PUBLIC CLASS SIMPLECLIENT
{
PUBLIC STATIC VOIDMAIN(STRING ARGS[])THROWS IOEXCEPTION
{
SOCKETS1=NEWSOCKET(“LOCALHOST”,1254); //CREATE A SOCKET AT PORT 1254
INPUTSTREAM S1IN=S1.GETINPUTSTREAM(); //GET AN INPUT FILE HANDLE
FROM THE SOCKET AND READ THE INPUT
DATAINPUTSTREAM DIS=NEW DATAINPUTSTREAM(S1IN);
STRING ST=NEW STRING(DIS.READUTF());
SYSTEM.OUT.PRINTLN(ST);
DIS.CLOSE(); //CLOSE THE SOCKET
S1IN.CLOSE();
S1.CLOSE();
}
}
PROCESSMODEL
 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-PROTOCOLMODEL
 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.
PROCESS-PER-MESSAGE
MESSAGE BUFFERS
THE APPLICATION PROCESS PROVIDE THE BUFFER TO HOLD THE OUTBOUND
MESSAGE DURING OPERATION AND FOR THE INCOMING MESSAGE DURING THE
RECEIVER OPERATRION.
COPYING MESSAGEBETWEENAPPLICATIONANDNETWORKBUFFER

Mais conteúdo relacionado

Mais procurados

Mais procurados (7)

Socket Programming
Socket ProgrammingSocket Programming
Socket Programming
 
Elementary TCP Sockets
Elementary TCP SocketsElementary TCP Sockets
Elementary TCP Sockets
 
Socket programming
Socket programmingSocket programming
Socket programming
 
Socket System Calls
Socket System CallsSocket System Calls
Socket System Calls
 
Network Sockets
Network SocketsNetwork Sockets
Network Sockets
 
Nodejs 프로그래밍 ch.3
Nodejs 프로그래밍 ch.3Nodejs 프로그래밍 ch.3
Nodejs 프로그래밍 ch.3
 
Networking & Socket Programming In Java
Networking & Socket Programming In JavaNetworking & Socket Programming In Java
Networking & Socket Programming In Java
 

Semelhante a API (20)

Socket programming
Socket programmingSocket programming
Socket programming
 
network programing lab file ,
network programing lab file ,network programing lab file ,
network programing lab file ,
 
Socket programming
Socket programming Socket programming
Socket programming
 
Sockets
SocketsSockets
Sockets
 
Socket Programming - nitish nagar
Socket Programming - nitish nagarSocket Programming - nitish nagar
Socket Programming - nitish nagar
 
Java Programming - 07 java networking
Java Programming - 07 java networkingJava Programming - 07 java networking
Java Programming - 07 java networking
 
Lab manual cn-2012-13
Lab manual cn-2012-13Lab manual cn-2012-13
Lab manual cn-2012-13
 
Tcp/ip server sockets
Tcp/ip server socketsTcp/ip server sockets
Tcp/ip server sockets
 
Unit 8 Java
Unit 8 JavaUnit 8 Java
Unit 8 Java
 
Socket programming
Socket programmingSocket programming
Socket programming
 
Networks lab
Networks labNetworks lab
Networks lab
 
Networks lab
Networks labNetworks lab
Networks lab
 
Network programming in java - PPT
Network programming in java - PPTNetwork programming in java - PPT
Network programming in java - PPT
 
Socket Programming it-slideshares.blogspot.com
Socket  Programming it-slideshares.blogspot.comSocket  Programming it-slideshares.blogspot.com
Socket Programming it-slideshares.blogspot.com
 
Java 1
Java 1Java 1
Java 1
 
Pemrograman Jaringan
Pemrograman JaringanPemrograman Jaringan
Pemrograman Jaringan
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Python networking
Python networkingPython networking
Python networking
 
Np unit2
Np unit2Np unit2
Np unit2
 
Client server chat application
Client server chat applicationClient server chat application
Client server chat application
 

Último

Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesRAJNEESHKUMAR341697
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxchumtiyababu
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdfKamal Acharya
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdfAldoGarca30
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdfKamal Acharya
 

Último (20)

Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 

API

  • 1. 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 .CREATINGA 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);
  • 2. WE NEED TO ASSOCIATE AN IP ADDRESS AND PORT NUMBER TO OUR APPLICATION. 3. LISTEN FOR INCOMING CONNECTIONS 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. ACCEPTINGA 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. PROGRAMFORSERVER: 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 1254 SOCKET S1=S.ACCEPT(); //WAIT AND ACCEPT A CONNECTION OUTPUTSTREAM S1OUT=S1.GETOUTPUTSTREAM(); //CREATE I/O STREAM DATAOUTPUTSTREAM DOS=NEW DATAOUTPUTSTREAM(S1OUT); DOS.WRITEUTF(“HI THERE”); //SEND A STRING DOS.CLOSE(); //CLOSE THE CONNECTION BUT NOT SERVER SOCKET S1OUT.CLOSE(); S1CLOSE(); } } PROGRAMFORCLIENT IMPORT JAVA.NET.*; IMPORT JAVA.IO.*; PUBLIC CLASS SIMPLECLIENT {
  • 3. PUBLIC STATIC VOIDMAIN(STRING ARGS[])THROWS IOEXCEPTION { SOCKETS1=NEWSOCKET(“LOCALHOST”,1254); //CREATE A SOCKET AT PORT 1254 INPUTSTREAM S1IN=S1.GETINPUTSTREAM(); //GET AN INPUT FILE HANDLE FROM THE SOCKET AND READ THE INPUT DATAINPUTSTREAM DIS=NEW DATAINPUTSTREAM(S1IN); STRING ST=NEW STRING(DIS.READUTF()); SYSTEM.OUT.PRINTLN(ST); DIS.CLOSE(); //CLOSE THE SOCKET S1IN.CLOSE(); S1.CLOSE(); } } PROCESSMODEL  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-PROTOCOLMODEL  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.
  • 4. 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. PROCESS-PER-MESSAGE MESSAGE BUFFERS THE APPLICATION PROCESS PROVIDE THE BUFFER TO HOLD THE OUTBOUND MESSAGE DURING OPERATION AND FOR THE INCOMING MESSAGE DURING THE RECEIVER OPERATRION.