今天就跟大家聊聊有关怎么在python中利用socketserver处理客户端,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
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, ThreadingTCPServer
import 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处理客户端有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.py.cn/jishu/jichu/30016.html