我在留言板上查看了很多类似的问题并阅读了相关文档,据我所知,我似乎做的一切都是正确的。
节点服务器代码
io.on('connection', function(socket){
logger.log('info', `\n${Date().toLocaleString('short')}\n:: socket.io client connection established ::\nsocket.id: ${socket.id}\nsocket.handshake.address: ${socket.handshake.address}`)
socket.on('pythonTest', function(){
logger.log('info', `HI THIS IS PYTHON TALKING`)
});
socket.on('userConnect', function(userAgent){
logger.log('info', `\nhttp user connected\n${userAgent}`)
});
});
python客户端代码
import socketio
from pprint import pprint
socket = socketio.Client()
socket.connect('http://localhost:3000')
pprint(vars(socket))
socket.emit('pythonTest', 'pythonTest')
当我启动 python 脚本时,我可以看到套接字连接有效,但是事件“pythonTest”有问题。事件“userConnect”的行为应如此,但“userConnect”的发射器来自网络浏览器,这让我相信问题出在 python 方面,而不是节点中的事件处理程序。我认为 socket.emit('pythonTest', 'pythonTest') 特别有问题,但我不知道它可能是什么。