本文整理汇总了Python中Client.Client.setHandler方法的典型用法代码示例。如果您正苦于以下问题:Python Client.setHandler方法的具体用法?Python Client.setHandler怎么用?Python Client.setHandler使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Client.Client
的用法示例。
在下文中一共展示了Client.setHandler方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run
# 需要导入模块: from Client import Client [as 别名]
# 或者: from Client.Client import setHandler [as 别名]
def run(self) :
while True :
#采用select模型
#rs : 就绪读
#ws : 就绪写
#es : 就绪的错误信息
rs , ws ,es = select.select(self.inputs , [] ,[])
for r in rs :
if r is self.server:
conn , addr = self.server.accept()
print 'get conn from ' , addr
client = Client(conn , addr)
self.clientList[self.getIndex(addr)] = client
menuHandler = MenuHandler()
client.setHandler(menuHandler)
self.inputs.append(conn)
else :
try :
clientIndex = self.getIndex(r.getpeername())
client = self.clientList[clientIndex]
if not client:
print 'error , can not find the client :' ,clientIndex
data = r.recv(2048)
disconnected = False
if not data :
disconnected = True
else :
client.recv(data)
except Exception ,e:
print e
disconnected = True
if disconnected:
print r.getpeername() , 'disconnected'
client = self.clientList[self.getIndex(r.getpeername())]
client.disconnect()
del self.clientList[self.getIndex(r.getpeername())]
self.inputs.remove(r)