Java 網絡初步

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();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章