如何在Twisted Python中从服务器发送列表内容?
我有一个和多客户端聊天服务器相关的问题。这个问题的列表是 ['talk', client_n, message]。我想知道怎么用 twisted python 里的 transport.write() 从服务器发送 'message' 给 'client_n'。
我尝试了两种写法,但都没有成功。
第一种写法:
data = data.strip()
dat1 = data.split()
dat2 = ' '.join(dat1)
l = dat2[5:12]
m = dat2[13:]
l.transport.write(m)
第二种写法:
data = data.strip()
dat1 = data.split()
l1 = dat1[1]
m1 = dat1[2]
if l1 in self.factory.clients:
l1.transport.write(m1)
但是在这两种写法中,我都遇到了属性错误。
exceptions.AttributeError: 'str' object has no attribute 'transport'
有没有人能给我一个解决方案呢?
2 个回答
0
我不是专家,但也许你可以考虑通过 JSON 来对你的列表进行序列化和反序列化?
6
self.factory.clients是什么?它可能是一个字典吗?你真的想做这样的事情吗:
client = self.factory.clients.get(client_n)
if client:
client.transport.write(message)