使用TCP協議編寫一個網路程式,設定伺服器端的監聽埠是8002,當與客戶端建立連線後,伺服器端向客戶端傳送資料“Hello, world”,客戶端收到資料後列印輸出
阿新 • • 發佈:2019-01-29
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(); } }