1、服務器端:
int portNumber = 1777; //只接受該端口號的客戶端請求
ServerSocket serverSocket = new ServerSocket(portNumber); //創建服務器
Socket socket = serverSocket.accept(); //等待,直到有請求到達指定端口,接收客戶端套接字
//使用一個ObjectOutputStream將數據發送出去,獲取客戶端套接字的輸出流
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.write(String); //輸出的字符串,在套接字的流句柄上
2、客戶端:
int portNumber = 1777; //需要與服務器端口號對上
Socket socket = new Socket(InetAddress.getLocalHost(), portNumber); //表明在本機上運行服務器
注: 如果將InetAddress.getLocalHost()改爲IP地址也行,或者輸入本地網絡中的計算機名,如"POGO”;
//獲取套接字的流的句柄
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
String str = (String) ois.readObject(); //讀取套接字流上的字符串,由服務器端傳來
//關閉
ois.close();
socket.close();
3、在服務器端,也可以接收由客戶端發來的數據:
參見1中所述,增加:
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream()); //獲取客戶端套接字流
String str = (String) ois.readObject(); //獲取客戶端發來的數據
4、在客戶端發送數據:
參見2中所述,增加:
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(String); //可以將客戶端的數據發送到套接字上
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
String str = (String) ois.readObject(); //獲取由服務器端發送來的數據
//關閉:
ois.close();
oos.close();
socket.close();