TCP客戶端伺服器
阿新 • • 發佈:2020-10-16
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; /* 1.建立一個客戶端物件Socket,構造方法繫結伺服器的IP地址和埠號 2.使用socket物件中的方法getOutputStream()獲取網路位元組輸出流outputstream物件 3.使用網路位元組輸出流output stream物件中的方法write,給伺服器傳送資料 4.使用Socket物件中的方法getInputStream()獲取網路位元組輸入流InputStream物件 5.使用網路位元組輸入流InputStream物件中的方法read,讀取伺服器寫回的資料 6.釋放資源(Socket) 注意: 1.客戶端和伺服器端進行互動,必須使用Socket中提供的網路流,不能使用自己建立的流物件 2.當我們建立客戶物件socket時候,就會去請求伺服器和伺服器經過三次握手連線通路 如果沒有啟動丟擲異常。 如果啟動則可以互動。*/ public class Demo01TCPClient { public static void main(String[] args) throws IOException { Socket socket=new Socket("127.0.0.1",8888); OutputStream os=socket.getOutputStream(); os.write("你好伺服器".getBytes()); InputStream is = socket.getInputStream(); byte[] bytes=newbyte[1024]; int len=is.read(bytes); System.out.println(new String(bytes,0,len)); socket.close(); } }
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class Demo02TCPServer {public static void main(String[] args) throws IOException { ServerSocket server=new ServerSocket(8888); Socket socket=server.accept(); InputStream is=socket.getInputStream(); byte[] bytes=new byte[1024]; int len=is.read(bytes); System.out.println(new String(bytes,0,len)); OutputStream os = socket.getOutputStream(); os.write("收到謝謝".getBytes()); socket.close(); server.close(); } }