1. 程式人生 > >使用TCP協議編寫一個網路程式,設定伺服器端的監聽埠是8002,當與客戶端建立連線後,伺服器端向客戶端傳送資料“Hello, world”,客戶端收到資料後列印輸出

使用TCP協議編寫一個網路程式,設定伺服器端的監聽埠是8002,當與客戶端建立連線後,伺服器端向客戶端傳送資料“Hello, world”,客戶端收到資料後列印輸出

import java.io.InputStream;  
import java.io.OutputStream;  
import java.net.*;  
  
public class TcpExample {  
public  static void main (String[]args)throws  Exception{  
      new  TcpC().connect(); //建立TCPClient物件,並呼叫connect()方法  
}  
}  
 class TcpC {  
    private static final int PORT=8002;  
    public void connect()throws Exception {  
        //建立一個Socket並連線到給出地址和埠號的計算機  
    Socket client  =new Socket(InetAddress.getLocalHost(),PORT);   
     InputStream is=client.getInputStream();  //得到接收資料的流  
     byte[]buf=new byte[1024];  //定義1024 個位元組陣列的緩衝區  
     int len =is.read(buf); //將資料讀到緩衝區中  
     System.out.println(new String (buf,0,len));  
     client.close();  
    }  
}  
import java.io.OutputStream;  
import java.net.ServerSocket;  
import java.net.Socket;  
  
public class TcpExampleS {  
    public static void main(String[] args) throws Exception {  
          new TcpServer().listen();  //建立TcpServer物件,並呼叫listen()方法  
    }  
  
}  
class TcpServer{  
    private static final int PORT=8002; //定義一個埠號  
    public void listen()throws Exception{//定義一個listen()方法,丟擲一個異常  
         ServerSocket  serverSocket =new ServerSocket(PORT); //建立ServerSocket物件  
         Socket client=serverSocket.accept();//呼叫ServerSocket的accept()方法接受資料  
         OutputStream os=client.getOutputStream();  
         os.write(("Hello worlld").getBytes());  
         Thread.sleep(5000);  
         os.close();  
         client.close();  
        }  
}