首页 > 解决方案 > 从 python 服务器发送到 java 客户端的定时数据

问题描述

我目前正在尝试将数据从 Python 服务器发送到 Java 客户端。

但是:例如,我想每 2 秒发送一次消息。

服务器:

while True:
   clientConnection.send(("Message from server" + "\r\n").encode());
   print("Message sent!");
   time.sleep(2);

客户 :

public void receiveData() {
    try {
        String receivedData = dataInputStream.readUTF();
        System.out.println(receivedData);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

这是 run() 方法:

public void run() {
    clientChannel.sendData();
    while (true) {
        System.out.println("message received");
        clientChannel.receiveData();
    }
}

问题是"Message sent!"终端每2秒显示一次,但客户端没有收到任何东西,只是打印"message received"一次并等待..

服务器输出:

Server started successfully ! 
Hello
Message sent!
Message sent!
Message sent!

客户端输出:

message received

编辑:如果我删除该time.sleep(2)行,该程序运行良好。

标签: javapythonmultithreadingsockets

解决方案


推荐阅读