我一直在尝试使用python gevent-socketio库来尝试通过套接字id发送私有消息,但一直没有成功。我发现可以通过以下方式使用命名空间向套接字发送消息:
pkt = dict(type="event",
name="getBuddies",
args=' '.join(buddies),
endpoint=self.ns_name)
self.socket.send_packet(pkt)我可以从self.socket.sessId获取并存储套接字id,但我不知道如何向特定的套接字id发送消息。
发布于 2013-09-18 21:45:56
一旦你有了你的会话id,你就可以在自定义的mxin类中创建新的方法,如下所示:
class CustomBroadcastMixin(object):
...
def broadcast_to_socket(self, session_id, event, *args):
"""
Broadcast to one socket only.
Aims to be used for wishper messages.
"""
returnValue = False
pkt = dict(type="event",
name=event,
args=args,
endpoint=self.ns_name)
try:
for sessid, socket in self.socket.server.sockets.iteritems():
if unicode(session_id) == unicode(sessid):
socket.send_packet(pkt)
returnValue = True
break
except:
app.logger.exception('')
return returnValue而不是在需要的时候调用它。
干杯
https://stackoverflow.com/questions/16826618
复制相似问题