SocketIO客户端无法接收事件

时间:2020-01-02 09:44:20

标签: python django python-socketio

我有两项服务:资源管理器(RM)培训

RM websocket服务器,而 Training websocket客户端。我在客户端和服务器端都使用 python-socketio 。 我在RM上收到一个 HTTP请求,根据该请求,我必须触发事件以训练服务

我为Training Service编写了一个python脚本,该脚本接受套接字连接,进行一些计算,然后将事件触发回RM。这是培训服务的代码:


import socketio

client_socket = socketio.Client()


@client_socket.event
def connect():
    print('connection established')
    client_socket.emit('register', 'training')

@client_socket.on('train')
def start(input_dict):
    print("Training triggered!")
    #do some computation
    client_socket.emit('training_completed', { 'status': False})

client_socket.connect('http://localhost:8000')
client_socket.wait()

RM是一个django应用程序,它存储Training服务的套接字ID并触发事件:

def start_training(request):
    # fetch socket id of training service
    sid = servicename_to_socketid_map.get('training', None)
    socket_server.emit('train', {'data': training_inp}, room=sid)
    return JsonResponse({
            'status': 1,
            'msg': 'Training started!!'
        })

我能够连接到Training服务,但是我尝试将事件发送给特别是Training,但无法接收该事件。你能告诉我我做错了什么吗?

P.S。 :我已经有了 wsgi.py 文件的必要机会,以便将python-socketio与django一起使用

谢谢

0 个答案:

没有答案