1. 程式人生 > >JAVA中-面向網路程式設計---單層互動

JAVA中-面向網路程式設計---單層互動

面向網路程式設計---單層互動:

客戶端說明:

  1. /*
  2. * 實現TCP客戶端,連結到伺服器
  3. * 和伺服器實現資料互動
  4. * 實現TCP客戶端的類 java.net.Scoket
  5. * 構造方法:
  6. * Socket sco = new Sockte( String ip ,int 埠號);
  7. * 注意:這個構造方法只要執行就會去查詢 伺服器 如果連結失敗 就會丟擲異常
  8. * OutputStream getOutputStream() 這個方法是返回套接字的輸出流
  9. * 注意:這個輸出流 是將資料 輸出伺服器
  10. * InputStream getInputStream(); 這個方法 返回 套接字的輸入流
  11. * 注意: 這個輸入流 從伺服器中讀取資料
  12. *
  13. * 如果要實現 客戶端與伺服器端的互動 必須有使用Socket套接字的 流 自己例項化的流不可以!!!
  14. *
  15. * */

客戶端程式碼:

 

  1. public static void main(String[] args) throws Exception {
  2. //建立Socket 物件 連結伺服器
  3. Socket socket = new Socket("127.0.0.1", 8888);
  4. //通過套接字 物件Socket 獲取 輸出流 將 資料寫入伺服器
  5. OutputStream out = socket.getOutputStream();
  6. //向伺服器寫入資料
  7. out.write("咕咕咕-買了否冷".getBytes());
  8. //關閉資料
  9. //socket.close();
  10. socket.shutdownOutput();
  11. }

伺服器說明:

  1. /*
  2. * 實現TCP伺服器程式
  3. * 表示伺服器程式的類 java.net.ServerSocket
  4. * 構造方法:
  5. * ServerSocket(int 埠);
  6. * **必須要獲得客戶端的套接字物件 Socket
  7. * Socket socket = server.accept();
  8. * */

 

伺服器程式碼:

    

  1. public static void main(String[] args) throws Exception{
  2. //建立ServerSocket 物件
  3. ServerSocket server = new ServerSocket(8888);
  4. //呼叫伺服器套接字 物件 中的方法accept();
  5. Socket socket = server.accept();
  6. try {
  7. InputStream in = socket.getInputStream();
  8. int len = 0;
  9. byte[] bytes = new byte[1024];
  10. while((len = in.read(bytes)) != -1){
  11. System.out.println(new String(bytes, 0, len));
  12. }
  13. } catch (Exception e) {
  14. throw new RasterFormatException("從伺服器讀取發生異常-原因 伺服器可能關閉了流物件");
  15. }
  16. }