在Java中,網路類都在 java.net 類庫中
1.通訊端
通訊端是用於建立兩個不同程式之間通過網路進行通訊的通道。
建立通訊端Socket的方法
- 在用戶端使用socket類,指定伺服器IP和連接埠號碼,以便連到伺服器上:Socket(host_IP, prot);
- 在伺服器端使用ServerSocket類,以等待用戶端的串連:ServerSocket(port);
- 在用戶端:建立socket串連後,還應該建立輸入輸出資料流。getInputStream( )獲得輸入資料流 getOutputStream( )獲得輸出資料流
D:在伺服器端:ServerSocket類的accept( )方法使伺服器處於阻塞狀態,等待使用者請求。
Socket主要方法:
2.執行個體:
客戶機:
import java.io.*;
import java.net.*;
class C
{ public static void main(String[] args)
{ try{ Socket socket=new Socket("127.0.0.1",6565);
DataOutputStream out=new DataOutputStream(socket.getOutputStream());
out.writeUTF("我是客戶機");
DataInputStream in=new DataInputStream(socket.getInputStream());
String s=in.readUTF();
System.out.println("客戶機收到:"+s);
}catch(Exception e){}
}
}
伺服器:
import java.io.*;
import java.net.*;
class S
{ public static void main(String[] args)
{try{ServerSocket s_socket=new ServerSocket(6565);
Socket socket=s_socket.accept();
DataInputStream in=new DataInputStream(socket.getInputStream());
String s=in.readUTF();
System.out.println("伺服器收到:"+s);
DataOutputStream out=new DataOutputStream(socket.getOutputStream());
out.writeUTF("我是伺服器");
}catch(Exception e){}
}
}
3.多使用者時的網路問題
將伺服器寫成多線程的,不同的線程為不同的客戶服務.main()只負責迴圈等待.線程負責網路連接,接收客戶輸入的資訊