利用java.net包提供的網(wǎng)絡(luò)能力。以有連接流通訊方式為例,在服務(wù)器端的操作為一般為: 
   ⑴ 創(chuàng)建一個(gè)ServerSocket對象,在指定端口監(jiān)聽客戶端發(fā)來的請求。 
   ⑵ 在接收到請求時(shí)accept()方法將返回一個(gè)Socket對象。 
   ⑶ 用上述Socket對象創(chuàng)建輸入、輸出流對象。 
   ⑷ 通過輸入、輸出流與客戶交互。 
   ⑸ 交互完畢,關(guān)閉輸入、輸出流與Socket。 
   ⑹ 服務(wù)程序運(yùn)行結(jié)束,關(guān)閉ServerSocket。 
   實(shí)現(xiàn)代碼代碼類如: 
try{ 
boolean flag=true; 
Socket clientSocket=null; 
ServerSocket serverSocket = new ServerSocket(0); 
System.out.println("Server listen on: " +serverSocket.getLocalPort()); 
while(flag){ 
clientSocket=serverSocket.accept(); 
DataInputStream is=new DataInputStream( new bufferedInputStream(clientSocket.getInputStream())); 
PrintStream os=new PrintStream( new bufferedOutputStream(clientSocket.getOutputStream())); 
// 處理Applet請求 
os.close(); 
is.close(); 
clientSocket.close(); 

serverSocket.close(); 
}catch( IOException e){ 
System.err.println(" Exception: "+e); 

   在客戶端的操作為: 
   ⑴ 創(chuàng)建Socket對象建立與服務(wù)器的連接。 
   ⑵ 用該Socket對象創(chuàng)建輸入、輸出流。 
   ⑶ 與服務(wù)器交互。 
   ⑷ 交互完畢,關(guān)閉輸入、輸出流與Socket。 
   實(shí)現(xiàn)代碼類如: 
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)簡潔和靈活,易于實(shí)現(xiàn)某些特殊的需要。但在另一方面,服務(wù)器端對進(jìn)入請求以及客戶端對返回結(jié)果的分析工作量較大。