Python 3.x Flask websocket向特定客户端发送消息

Python 3.x Flask websocket向特定客户端发送消息,python-3.x,sockets,flask,websocket,flask-socketio,Python 3.x,Sockets,Flask,Websocket,Flask Socketio,我在用烧瓶网匣。websocket服务器正在端口5000中运行 这是侦听websocket服务器的三个不同客户端 根据客户端Id,我想向不同的客户端发送不同的消息 ws://127.0.0.1:5000/getMessage?clientId=C10 ws://127.0.0.1:5000/getMessage?clientId=C20 ws://127.0.0.1:5000/getMessage?clientId=C30 from geventwebsocket.exceptions imp

我在用烧瓶网匣。websocket服务器正在端口5000中运行

这是侦听websocket服务器的三个不同客户端 根据客户端Id,我想向不同的客户端发送不同的消息

ws://127.0.0.1:5000/getMessage?clientId=C10
ws://127.0.0.1:5000/getMessage?clientId=C20
ws://127.0.0.1:5000/getMessage?clientId=C30

from geventwebsocket.exceptions import WebSocketError
from geventwebsocket.handler import WebSocketHandler
import gevent
from flask import Flask
from flask_sockets import Sockets
from gevent import pywsgi, Greenlet
from gevent.event import Event

if request.environ.get('wsgi.websocket'):
    ws = request.environ['wsgi.websocket']
    reqBody = request.args
    event = Event()
    ws_event.append((ws, event, None))

for ws, event, _ in ws_event:
    try:
        ws.send("Hello Message")
    except WebSocketError as e:
        event.set()
在我的上文中,所有weebsockets客户端都接收所有消息。 请让我知道是否有任何方法可以根据客户端Id,向不同的客户端发送不同的消息

ws://127.0.0.1:5000/getMessage?clientId=C10
ws://127.0.0.1:5000/getMessage?clientId=C20
ws://127.0.0.1:5000/getMessage?clientId=C30

from geventwebsocket.exceptions import WebSocketError
from geventwebsocket.handler import WebSocketHandler
import gevent
from flask import Flask
from flask_sockets import Sockets
from gevent import pywsgi, Greenlet
from gevent.event import Event

if request.environ.get('wsgi.websocket'):
    ws = request.environ['wsgi.websocket']
    reqBody = request.args
    event = Event()
    ws_event.append((ws, event, None))

for ws, event, _ in ws_event:
    try:
        ws.send("Hello Message")
    except WebSocketError as e:
        event.set()

一种解决方案是将客户端ID添加到消息中,并使每个客户端只处理包含其ID的消息

例如,您可以在每条消息前面加上客户端ID,如so
“:Hello message”
C10
的消息将变为
“C10:Hello message”
。每个客户端都会收到此消息,但只有
C10
会对其进行操作