龙卷风插座连接未关闭

时间:2018-01-31 11:20:23

标签: python-3.x sockets tornado

我有一个Tornado SockJs套接字连接。关闭连接时,将调用on_close方法。从我从连接的客户端列表中删除用户。但是' PING' ' PONG'继续发生,因为这种联系看起来不像真正的关闭。

class EchoWebSocket(sockjs.tornado.SockJSConnection):

    def on_open(self,info):
            self.send(str('add')) 

    def on_message(self, message):

        message = simplejson.loads(message)
        TASK = message['TASK']

        if TASK == "PING":
            self.send('PONG')

        elif TASK == 'ADD_CLIENT':
            addUserAfterSocketConnection(self, message, "SOCKJS")

    def on_close(self):
        removeUserAfterSocketConnectionClose(self)

如果我将self.close()放在on_close()中,它会在递归循环中运行。我可以看到API中有closeon_close方法,它们有何不同以及它们的用途是什么?

def on_close(self):
    removeUserAfterSocketConnectionClose(self)
    self.close()

如何有效地关闭此连接,以便不会出现这样的错误。已发送。

0 个答案:

没有答案