首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有gevent-socketio的私有消息

带有gevent-socketio的私有消息
EN

Stack Overflow用户
提问于 2013-05-30 09:39:54
回答 1查看 547关注 0票数 0

我一直在尝试使用python gevent-socketio库来尝试通过套接字id发送私有消息,但一直没有成功。我发现可以通过以下方式使用命名空间向套接字发送消息:

代码语言:javascript
复制
pkt = dict(type="event",
name="getBuddies",
args=' '.join(buddies),
endpoint=self.ns_name)
self.socket.send_packet(pkt)

我可以从self.socket.sessId获取并存储套接字id,但我不知道如何向特定的套接字id发送消息。

EN

回答 1

Stack Overflow用户

发布于 2013-09-18 21:45:56

一旦你有了你的会话id,你就可以在自定义的mxin类中创建新的方法,如下所示:

代码语言:javascript
复制
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

而不是在需要的时候调用它。

干杯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16826618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档