我想以 1 秒的间隔从服务器向客户端发送一条消息,在发送消息之前将字符串“发送时钟”写入控制台。
但是,客户端没有收到“时钟”消息。
我得到回显消息工作正常,所以这不是连接问题。
如何以 1 秒的间隔发送消息?
服务器代码(python):
import threading
import time
import socketio
import eventlet
socket = socketio.Server(async_mode='eventlet')
app = socketio.WSGIApp(socket)
@socket.on('echo')
def echo(sid, message):
socket.emit('echo', message)
def worker1():
eventlet.wsgi.server(eventlet.listen(('', 5030)), app)
def worker2():
while(1):
print("send clock")
socket.emit('clock', '1 sec')
time.sleep(1)
def main():
t1 = threading.Thread(target=worker1)
t2 = threading.Thread(target=worker2)
t1.start()
t2.start()
if __name__ == '__main__':
main()
客户端代码(nodejs):
const io = require("socket.io-client");
socket = io("http://xxx.xxx.xxx.xxx:5030", {
transports: ["websocket"],
});
socket.emit("echo", "test");
socket.on("echo", (data) => {
console.log(data);
});
socket.on("clock", (data) => {
console.log("receive clock");
});
我的服务器端环境:
python: 3.7.3
python-socketio: 4.5.1
eventlet: 0.25.1
感谢您阅读它直到最后。<3