【问题标题】:Trouble connecting Python socketio server to node js socketio client无法将 Python socketio 服务器连接到节点 js socketio 客户端
【发布时间】:2020-11-09 00:43:13
【问题描述】:

我在完成一项非常简单的任务时遇到了很多困难。我正在尝试在节点 js 中设置 socket.io 客户端,然后它应该与 python 中的本地 socket.io 服务器设置进行通信(使用 python 绑定here。我遇到的问题是服务器正在检测客户端,但客户端似乎从未收到“连接”事件。我怀疑这是我异步部署服务器的方式的问题,但我真的不确定。每个文件的代码如下:

server.py

import socketio
from aiohttp import web

HOST = '127.0.0.1'
PORT = 10001

# create a Socket.IO server
sio = socketio.AsyncServer(async_mode='aiohttp', logger=True, engineio_logger=True)

app = web.Application()
sio.attach(app)

@sio.on('connect')
def connect(sid, environ):
    print('connect ', sid)

if __name__ == '__main__':
    web.run_app(app, host=HOST, port=PORT)

client.js

const io = require('socket.io-client');

const HOST = '127.0.0.1';
const PORT = '10001';

const socket = io(`http://${HOST}:${PORT}`);
console.log('Socket instantiated!');

socket.on('connect', () => {
    console.log(`socket connected: ${socket.connected}`);
});

我期望的输出是看到服务器打印出客户端已连接,然后客户端打印出它也已连接。 然而,客户​​端似乎从来没有收到“连接”事件,所以从来没有向控制台打印任何东西。

最后,服务器输出的一个例子是:

Server initialized for aiohttp.
======== Running on http://127.0.0.1:10001 ========
(Press CTRL+C to quit)
1c17586e4c7e49b48abefea2fba460e6: Sending packet OPEN data {'sid': '1c17586e4c7e49b48abefea2fba460e6', 'upgrades': ['websocket'], 'pingTimeout': 60000, 'pingInterval': 25000}
connect  1c17586e4c7e49b48abefea2fba460e6
1c17586e4c7e49b48abefea2fba460e6: Sending packet MESSAGE data 0

虽然客户端的输出很烦人

$ node mySocket.js
Socket instantiated!

然后它什么也不做就挂了。

我显然在这里误解了一些东西,所以提前谢谢你!

小更新

我使用 python socketio 客户端快速进行了测试,并成功获得了实际连接,因此这应该将其范围缩小到我在 JS 客户端中所做的事情。

【问题讨论】:

    标签: python node.js sockets socket.io


    【解决方案1】:

    好吧,我最终从 socket.io-client 3.00(3 天前没看到有这个主要版本)降级到 2.3.1,一切又开始工作了!但是,基于Github 上没有列出的问题,我猜这不是一个影响所有人的错误。

    【讨论】:

    • 非常感谢,我花了很多时间调试这个问题。然后我降级到 2.3.1,它为我修复了它。
    猜你喜欢
    • 2014-02-16
    • 2016-01-08
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    相关资源
    最近更新 更多