ThreadingTCPServer

ThreadingTCPServer

ThreadingTCPServer是异步多线程的框架模型。
with socketserver.ThreadingTCPServer(
(‘0.0.0.0’, cm.TCP_PORT),
myTcpHandler) as tcp_server:
tcp_server.daemon_threads = True
#tcp_server.allow_reuse_address = True
tcp_server.serve_forever()
0.0.0.0表示在所有接口上监听;
daemon_threads = True,表示如果服务器停止,所有线程会被强行中断;
myTcpHandler继承自socketserver.BaseRequestHandler类,这个类的框架代码如下:____init、setup、handle、finish。
import socketserver
class Myserver(socketserver.BaseRequestHandler):
def handle(self):
conn = self.request
conn.sendall(bytes(“你好,我是机器人”,encoding=“utf-8”))
while True:
ret_bytes = conn.recv(1024)
ret_str = str(ret_bytes,encoding=“utf-8”)
if ret_str == “q”:
break
conn.sendall(bytes(ret_str+“你好我好大家好”,encoding=“utf-8”))
if __name == “__main”:
server = socketserver.ThreadingTCPServer((“127.0.0.1”,8000),Myserver)
server.serve_forever()
StreamRequestHandler从BaseRequestHandler,并做了封装,使得读写数据更容易。

参考:
https://www.pynote.net/archives/2297
https://zhuanlan.zhihu.com/p/50214470
https://blog.csdn.net/JSPSEO/article/details/124911107
http://www.wjhsh.net/bigben0123-p-3808343.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值