我有一个与多客户聊天服务器问题相关的列表。这是列表['talk',client_n,message]。如何使用transport.write()在twisted python中从服务器向'client_n'发送'message'?
我用两种方式编写代码。但两者都没有用。
第一种方式: 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'
有人能为我解决这个问题吗?
答案 0 :(得分:6)
什么是self.factory.clients?它可能是字典吗?你真的想做点什么:
client = self.factory.clients.get(client_n)
if client:
client.transport.write(message)
答案 1 :(得分:0)
我不是专家,但也许您应该考虑通过JSON序列化和反序列化您的列表?