我正在开发一个必须支持客户端 - 服务器连接的应用程序.为了做到这一点,我正在使用龙卷风模块,允许我创建WebSockets.我打算一直在运作,至少在服务器端.所以我非常担心在这些连接上创建的每个对象的性能和内存使用情况.我已经开始做测试,以检测库实际消除这些对象的时间.以示例代码为例,我覆盖了该方法__del__()
server.py
#! /usr/bin/env python
import tornado.httpserver
import tornado.websocket
import tornado.ioloop
import tornado.web
import gc, sys
import resource
class WSHandler(tornado.websocket.WebSocketHandler):
def open(self):
print 'new connection'
self.write_message("h")
def check_origin(self, origin):
return True
def on_message(self, message):
print "Message: " + message
def on_close(self):
print 'Closed'
print 'GC count: ' + str(len(gc.get_referrers(self)))
def __del__(self):
print "DELETED"
application = tornado.web.Application([
(r'/s', WSHandler),
])
if __name__ == "__main__":
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(8888)
tornado.ioloop.IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)
client.py
#! /usr/bin/env python
from ws4py.client.tornadoclient import TornadoWebSocketClient
from …
Run Code Online (Sandbox Code Playgroud)