Java 網路程式設計可與其他語言編寫的應用程式交互,例如 Python。本文展示了 Java 和 Python 之間互動的步驟:Java 建立一個服務端,監聽特定連接埠。 Python 建立一個客戶端,連接到 Java 服務端的 IP 位址和連接埠。 Python 向 Java 發送數據,Java 處理並向 Python 發送回應。
Java 網路程式設計與其他語言互動
Java 網路程式設計不僅可以與其他Java 應用程式通信,還可以與其他語言(如Python)編寫的應用程式進行互動。本文將展示如何使用 Java 網路程式設計與 Python 交互,並提供一個實戰案例。
1. 建立Java 服務端
import java.net.ServerSocket; import java.net.Socket; import java.io.InputStream; import java.io.OutputStream; public class JavaServer { public static void main(String[] args) throws Exception { // 创建服务端套接字,监听端口 5000 ServerSocket serverSocket = new ServerSocket(5000); // 接受客户端连接,并创建套接字 Socket socket = serverSocket.accept(); // 获取输入流和输出流 InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream(); // 读取客户端发送的数据 byte[] buffer = new byte[1024]; int length = inputStream.read(buffer); String message = new String(buffer, 0, length); // 处理来自客户端的数据 // ... // 向客户端发送数据 String response = "已收到来自 Python 客户端的数据"; outputStream.write(response.getBytes()); // 关闭套接字和服务端套接字 socket.close(); serverSocket.close(); } }
#2. 建立Python 用戶端
import socket # 创建客户端套接字,连接到 Java 服务端的 IP 地址和端口 clientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) clientSocket.connect(('127.0.0.1', 5000)) # 发送数据到 Java 服务端 message = "这是来自 Python 客户端的数据" clientSocket.send(message.encode()) # 接收来自 Java 服务端的数据 response = clientSocket.recv(1024) print(response.decode()) # 关闭客户端套接字 clientSocket.close()
#實戰案例:檔案傳輸
以下程式碼展示了一個使用Java 和Python 實作的檔案傳輸實戰案例:
Java 伺服器端:
// ... 同 JavaServer 代码 ... // 接收文件内容 byte[] fileContent = new byte[1024]; int totalLength = 0; while ((length = inputStream.read(fileContent)) != -1) { totalLength += length; } // ... 同 JavaServer 代码 ...
Python 用戶端:
# ... 同 PythonClient 代码 ... with open('test.txt', 'rb') as f: fileContent = f.read() clientSocket.send(fileContent) # ... 同 PythonClient 代码 ...
以上是Java網路程式設計如何與其他語言(如Python)互動?的詳細內容。更多資訊請關注PHP中文網其他相關文章!