当前位置: 首页>>代码示例>>Python>>正文


Python ThreadingTCPServer.close_request方法代码示例

本文整理汇总了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:
开发者ID:kaikai03,项目名称:sspider,代码行数:51,代码来源:soketService.py


注:本文中的SocketServer.ThreadingTCPServer.close_request方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。