【问题标题】:SocketIO emit from Node server to Python clientSocketIO 从 Node 服务器发出到 Python 客户端
【发布时间】:2018-10-02 13:49:37
【问题描述】:

我正在寻找一种从 NodeJS 服务器向客户端 Python 发出指令的方法。

我的服务器从 Web 界面接收到“指令”,并且连接正常。 但是我无法向我的 Python 客户端发出这条指令。

主要思想:

-NodeJS

socket.on('instruction', function (jsonMessage){
         ...
        socket.emit('deleteFile', jsonMessage);
         };

- Python

from socketIO_client_nexus import SocketIO
import json
     ...
def on_deleteF(*args):
     #I just try to print something first
     print('test delete')
     ...
mainSocket = SocketIO('0.0.0.0', 3000)
mainSocket.on('deleteFile', on_deleteF)

我不知道是我对 socket.emit('deleteFile') 的思考方式错误,还是在 Python 中的 '.on' 上,或两者都有错误。

所以,如果你能解释我做事的好方法,思考的好方法。谢谢

【问题讨论】:

    标签: python node.js python-2.7 socket.io


    【解决方案1】:

    您为客户端创建一个登录事件以使用他们自己的 id 存储他们的套接字 id,然后您通过他们的特定套接字使用他们的套接字 id 向客户端发出指令:

    var clients=new Array();
    ...
    socket.on('login', function(){
        clients[idClient] = socket.id
    .....
    socket.on('instruction', function (jsonMessage, idClient){
        io.to(clients[idClient]).emit('deleteFile', jsonMessage);
    

    【讨论】:

    • 谢谢你,对我帮助很大!
    猜你喜欢
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    相关资源
    最近更新 更多