利用java.net包提供的網(wǎng)絡(luò)能力。以有連接流通訊方式為例,
在服務(wù)器端的操作為一般為:
⑴ 創(chuàng)建一個(gè)ServerSocket對(duì)象,在指定端口監(jiān)聽(tīng)客戶端發(fā)來(lái)的請(qǐng)求。
⑵ 在接收到請(qǐng)求時(shí)accept()方法將返回一個(gè)Socket對(duì)象。
⑶ 用上述Socket對(duì)象創(chuàng)建輸入、輸出流對(duì)象。
⑷ 通過(guò)輸入、輸出流與客戶交互。
⑸ 交互完畢,關(guān)閉輸入、輸出流與Socket。
⑹ 服務(wù)程序運(yùn)行結(jié)束,關(guān)閉ServerSocket。
實(shí)現(xiàn)代碼代碼類(lèi)如:
try{
boolean flag=true;
Socket clientSocket=null;
ServerSocket serverSocket = new ServerSocket(0);
System.out.
while(flag){
clientSocket=serverSocket.accept();
DataInputStream is=new DataInputStream( new bufferedInputStream(client
Socket.getInputStream()));
PrintStream os=new PrintStream( new bufferedOutputStream(clientSocket.
getOutputStream()));
// 處理Applet請(qǐng)求
os.close();
is.close();
clientSocket.close();
}
serverSocket.close();
}catch( IOException e){
System.err.println(" Exception: "+e);
}
在客戶端的操作為:
⑴ 創(chuàng)建Socket對(duì)象建立與服務(wù)器的連接。
⑵ 用該Socket對(duì)象創(chuàng)建輸入、輸出流。
⑶ 與服務(wù)器交互。
⑷ 交互完畢,關(guān)閉輸入、輸出流與Socket。
實(shí)現(xiàn)代碼類(lèi)如:
try {
Socket clientSocket =new Socket("serverName",7);
OutputStream os=clientSocket.getOutputStream();
DataInputStream is=new DataInputStream( clientSocket.getInputStream())
;
// 其它操作.
os.close();
is.close();
clientSocket.close();
}catch(Exception e){
System.err.println("Exception:"+e);
}
這種方法只依靠于標(biāo)準(zhǔn)的Java網(wǎng)絡(luò)支持,不需要用到附加的軟件包或工具,
因此顯得相當(dāng)簡(jiǎn)潔和靈活,易于實(shí)現(xiàn)某些非凡的需要。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注