首页 > 解决方案 > 从 Python 客户端读取时出现 java.io.EOFException

问题描述

我正在尝试使用 Java 和 Python 建立服务器-客户端连接。我使用 Java 作为服务器端,使用 Python 作为客户端。将数据从服务器发送到客户端工作正常,但是当我尝试将数据从客户端发送到服务器时,它会抛出 EOFException。我在这里做错了什么?

服务器代码:

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class JavaFile {
    public static void main(String[] args){
        try{
            ServerSocket serversocket = new ServerSocket(6000);
            Socket socket = serversocket.accept();
            DataInputStream input = new DataInputStream(socket.getInputStream());
            DataOutputStream output = new DataOutputStream(socket.getOutputStream());

            output.writeUTF("Hello Client!");
            String s = (String)input.readUTF();
            System.out.println(s);

            serversocket.close();
        }
        catch(Exception e){
            System.out.println(e);
        }
    }
}

客户端代码:

import socket

s = socket.socket()
host = socket.gethostname()
port = 6000
s.connect((host, port))

message = s.recv(1024)
print(message.decode())
s.send("Hello Server!".encode())
s.close()

标签: javapythonsockets

解决方案


推荐阅读