本文整理汇总了Python中SocketServer.ThreadingTCPServer.close_request方法的典型用法代码示例。如果您正苦于以下问题:Python ThreadingTCPServer.close_request方法的具体用法?Python ThreadingTCPServer.close_request怎么用?Python ThreadingTCPServer.close_request使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SocketServer.ThreadingTCPServer
的用法示例。
在下文中一共展示了ThreadingTCPServer.close_request方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: handle
# 需要导入模块: from SocketServer import ThreadingTCPServer [as 别名]
# 或者: from SocketServer.ThreadingTCPServer import close_request [as 别名]
def handle(self):
"""
"""
global client_list
while True:
#客户端主动断开连接时,self.rfile.readline()会抛出异常
try:
#self.rfile类型是socket._fileobject,读写模式是"rb",方法有
#read,readline,readlines,write(data),writelines(list),close,flush
data = self.rfile.readline().strip()
print "receive from (%r):%r" % (self.client_address, data)
if len(data) == 0 and data !='\r\n' and data != '\n':
print "close(%r):%r" % (self.client_address, data)
ThreadingTCPServer.close_request(self.request)
if 'login:' in data:
client_list[str(self.client_address[1])] = data.split(':')[1]
client_socket_list[str(self.client_address[1])] = self.request
print 'login:', client_list
if 'online' in data:
ol = [value for key, value in client_list.items()]
print 'online:', ol
self.request.sendall(json.dumps(ol))
if 'start' in data:
for key, value in client_socket_list.items():
if key != str(self.client_address[1]):
print 'send start to:', key
print 'send start to value:', value
value.sendall("start")
#self.wfile类型是socket._fileobject,读写模式是"wb"
#self.wfile.write(data.upper())
# #转换成大写后写回(发生到)客户端
# #self.request.sendall(data.upper())
except EOFError:
print "cut from (%r):%r,offline" % (self.client_address, data)
del client_list[str(self.client_address[1])]
del client_socket_list[str(self.client_address[1])]
break
except socket.error, e:
print "x(%r):%r,offline" % (self.client_address, data)
del client_list[str(self.client_address[1])]
del client_socket_list[str(self.client_address[1])]
break
except: