gpt4 book ai didi

python-3.x - Flask套接字io私有(private)聊天

转载 作者:行者123 更新时间:2023-12-03 17:15:56 27 4
gpt4 key购买 nike

如何在flask socket io中发送个人消息?我有一个关于 request.sid 的提示,但我不知道如何获取我正在发送消息的人的 request.sid ?如何为发送者和接收者分配一个公共(public)房间?

if user_exist:
@socketio.on('private message', namespace='/message/')
def join(msg):
join_room(request.sid)
room = request.sid
emit("my response",{ "data" : msg['data'] },room=room)

这里request.sid指的是发送者的sid而不是接收者的sid,那么我如何为他们分配同一个房间呢?

最佳答案

您有几种方法可以做到这一点。

当每个客户端连接时,您可以关联 request.sid与您的用户信息一起分配给该客户。例如,您可以将其添加为用户数据库中的额外字段。然后,当您需要向单个客户端发送消息时,查找 sid在您的数据库中,然后将其作为 room 传递emit() 中的参数打电话。

另一个可能更简单的选择是在每个客户端连接时将其置于自己的房间中。例如,您可以将每个客户端分配到一个以提供的用户名命名的房间。然后,您只需传递 room=username 即可向用户发送消息。在 emit()打电话。

关于python-3.x - Flask套接字io私有(private)聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41812362/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com