我正在尝试创建一个用户,遵循本教程
class MyConsumer(WebsocketConsumer):
def __init__(self,path):
WebsocketConsumer.__init__(self,path)
self.client_id_seed = 0
self.clients_connected = 0
# The following are passed on to RosbridgeProtocol
self.fragment_timeout = 600 # seconds
self.delay_between_messages = 0 # seconds
self.max_message_size = None
self.protocol = None
def connection_groups(self):
"""
Called to return the list of groups to automatically add/remove
this connection to/from.
"""
return ["test"]
# Connected to websocket.connect
def connect(self,message):
parameters = {
"fragment_timeout": self.fragment_timeout,
"delay_between_messages": self.delay_between_messages,
"max_message_size": self.max_message_size
}
try:
self.protocol.outgoing = self.receive
self.client_id_seed += 1
self.clients_connected += 1
except Exception as exc:
print ("Unable to accept incoming connection. Reason: %s" % str(exc))
print "Client connected. %d clients total." % self.clients_connected
self.message.reply_channel.send({"accept": True})
# Connected to websocket.receive
def receive(self,text=None, bytes=None):
# binary = type(message)==bson.BSON
self.send(text=text, bytes=bytes)
# Connected to websocket.disconnect
def disconnect(self,message):
self.clients_connected -= 1我得到了标题中的错误,但我已经在构造函数中明确地定义了它。从disconnect方法调用错误
发布于 2017-03-21 22:57:24
不应该使用类似的构造函数来创建消费者。每次请求出现时都会创建一个新的使用者对象。此外,构造函数将使用者发送到等待状态,并且从不在其下运行代码。
解决上述错误的最佳方法是将super构造函数移动到__init__中的最后一行,但理想情况下,您希望使用会话来存储信息。
https://stackoverflow.com/questions/42381782
复制相似问题