SocketIO从Node服务器发射到Python客户端

时间:2018-10-02 13:49:37

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

我正在寻找一种从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'或两者上都犯了错误。

因此,如果您能向我解释做事的好方法,思考的好方法。谢谢

1 个答案:

答案 0 :(得分: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);