今天就跟大家聊聊有关怎么在python中利用socketserver处理客户端,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
Python的优点有哪些
1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
1、流程
(1)处理多个客户端,初始化ThreadingTCPServer实例
(2)设置绑定的IP地址和端口和处理类
(3)使用StreamRequestHandler(使用流程的请求处理程序类似于file-like对象,提供标准文件接口简化通信过程),重写中的handle方法,获取请求数据,将数据返回客户端
2、实例
from socketserver import BaseRequestHandler, TCPServer class EchoHandler(BaseRequestHandler): def handle(self): print("Got Connection From: %s" % str(self.client_address)) while True: msg = self.request.recv(8192) if not msg: break self.request.send(msg) if __name__ == "__main__": server = TCPServer(("", 5000), EchoHandler)server.serve_forever()
from socketserver import StreamRequestHandler, TCPServer, ThreadingTCPServerimport time class EchoHandler(StreamRequestHandler): def handle(self): print("Got Connection Address: %s" % str(self.client_address)) for line in self.rfile: print(line) self.wfile.write(bytes("hello {}".format(line.decode('utf-8')).encode('utf-8'))) if __name__ == "__main__": serv = ThreadingTCPServer(("", 5000), EchoHandler) serv.serve_forever()
看完上述内容,你们对怎么在python中利用socketserver处理客户端有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。