Maison  >  Article  >  Java  >  Comment la programmation réseau Java interagit-elle avec d'autres langages tels que Python ?

Comment la programmation réseau Java interagit-elle avec d'autres langages tels que Python ?

PHPz
PHPzoriginal
2024-04-15 17:45:01411parcourir

La programmation réseau Java peut interagir avec des applications écrites dans d'autres langages, tels que Python. Cet article présente les étapes d'interaction entre Java et Python : Java crée un serveur et écoute sur un port spécifique. Python crée un client qui se connecte à l'adresse IP et au port du serveur Java. Python envoie des données à Java et Java traite et envoie une réponse à Python.

Comment la programmation réseau Java interagit-elle avec dautres langages tels que Python ?

La programmation réseau Java interagit avec d'autres langages

La programmation réseau Java peut non seulement communiquer avec d'autres applications Java, mais également interagir avec des applications écrites dans d'autres langages tels que Python. Cet article montrera comment utiliser la programmation réseau Java pour interagir avec Python et fournira un cas pratique.

1. Créer un serveur 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. Créer un client 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()

Cas pratique : transfert de fichiers

Le code suivant montre un cas pratique de transfert de fichiers utilisant Java et Python :

Serveur Java :

// ... 同 JavaServer 代码 ...

// 接收文件内容
byte[] fileContent = new byte[1024];
int totalLength = 0;
while ((length = inputStream.read(fileContent)) != -1) {
    totalLength += length;
}

// ... 同 JavaServer 代码 ...

Client Python :

# ... 同 PythonClient 代码 ...
with open('test.txt', 'rb') as f:
    fileContent = f.read()
clientSocket.send(fileContent)

# ... 同 PythonClient 代码 ...

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn