Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Flask SocketIO中将通知推送到测试客户端?_Python_Sockets_Socket.io_Flask Socketio_Flask Sockets - Fatal编程技术网

Python 如何在Flask SocketIO中将通知推送到测试客户端?

Python 如何在Flask SocketIO中将通知推送到测试客户端?,python,sockets,socket.io,flask-socketio,flask-sockets,Python,Sockets,Socket.io,Flask Socketio,Flask Sockets,我试图从服务器接收推送作为客户端;按如下方式使用我的测试客户端: 客户: socket_client = socketio.test_client(app) @socketio.on('hit_client') def recieve_message(json_data): print("Server has called!") 服务器: socketio.emit('hit_client', 'Hi Client!') 服务器应该推送并调用hit_client频道,但没有触发该频道

我试图从服务器接收推送作为客户端;按如下方式使用我的测试客户端:

客户:

socket_client = socketio.test_client(app)
@socketio.on('hit_client')
def recieve_message(json_data):
    print("Server has called!")
服务器:

socketio.emit('hit_client', 'Hi Client!')
服务器应该推送并调用
hit_client
频道,但没有触发该频道。但是,
socket\u client.get\u received()
具有发出的数据。我认为WebSocket的全部要点是双向通信(即推送功能触发器)


这是一个非常简单的设置,它甚至似乎不工作。。。任何帮助都将不胜感激。我已经绞尽脑汁好几个小时了。

测试客户端不是Socket.IO客户端。它的唯一目的是帮助您为Socket.IO服务器编写单元测试。它在概念上类似于Flask的HTTP路由测试客户端。只有在单元测试中使用它才有意义

当服务器向客户机发送某些内容时,测试客户机将只存储它,并通过
get\u received
调用在测试代码中访问它。它不会触发任何事件,因为这不是它的预期目的


如果您想在python中实现Socket.IO客户端,那么有一个包:。使用此软件包,您可以编写一个Python脚本,连接到Socket.IO服务器,并可以发送和接收事件。

谢谢Miguel。我真的很感激你的回应!