首頁  >  文章  >  Java  >  Java網路程式設計如何與其他語言(如Python)互動?

Java網路程式設計如何與其他語言(如Python)互動?

PHPz
PHPz原創
2024-04-15 17:45:01411瀏覽

Java 網路程式設計可與其他語言編寫的應用程式交互,例如 Python。本文展示了 Java 和 Python 之間互動的步驟:Java 建立一個服務端,監聽特定連接埠。 Python 建立一個客戶端,連接到 Java 服務端的 IP 位址和連接埠。 Python 向 Java 發送數據,Java 處理並向 Python 發送回應。

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn