共計 986 個字符,預計需要花費 3 分鐘才能閱讀完成。
在 Java 中,可以使用 Socket 類實現(xiàn)報文的發(fā)送和接收。
-
發(fā)送報文:
首先,創(chuàng)建一個 Socket 對象,指定要連接的目標主機和端口號,例如:String hostName = "example.com"; int portNumber = 80; Socket socket = new Socket(hostName, portNumber);
然后,通過獲取 Socket 的輸出流,并使用該輸出流發(fā)送報文數(shù)據(jù),例如:
OutputStream outputStream = socket.getOutputStream(); String message = "Hello, world!"; byte[] messageBytes = message.getBytes(); outputStream.write(messageBytes); outputStream.flush();
最后,關閉連接:
socket.close();
-
接收報文:
首先,創(chuàng)建一個 ServerSocket 對象,指定要監(jiān)聽的端口號,例如:int portNumber = 8080; ServerSocket serverSocket = new ServerSocket(portNumber);
然后,通過調用 ServerSocket 的 accept() 方法等待客戶端連接,并獲取與客戶端建立的 Socket 對象,例如:
Socket clientSocket = serverSocket.accept();
接下來,通過獲取 Socket 的輸入流,并使用該輸入流接收報文數(shù)據(jù),例如:
InputStream inputStream = clientSocket.getInputStream(); byte[] buffer = new byte[1024]; int bytesRead = inputStream.read(buffer); String message = new String(buffer, 0, bytesRead); System.out.println("Received message: " + message);
最后,關閉連接:
clientSocket.close(); serverSocket.close();
以上是使用原生的 Java Socket 實現(xiàn)報文的發(fā)送和接收。當然,還可以使用更高級的網(wǎng)絡庫,如 Netty、OkHttp 等,來簡化報文的發(fā)送和接收過程。
丸趣 TV 網(wǎng) – 提供最優(yōu)質的資源集合!
正文完