Erlo

Python网络编程 —— 并发的 SocketServer

2020-11-18 16:30:18 发布   235 浏览  
页面报错/反馈
收藏 点赞

1、并发的 socketserver

实现程序的并发执行

Server

import time
from socketserver import BaseRequestHandler,ThreadingTCPServer
# BaseRequestHandler 基础请求操作符
# ThreadingTCPServer 线程实现的基于tcp协议的server
class Myserver(BaseRequestHandler):   # 创建一个Myserver类继承BaseRequestHandler
    def handle(self):
        n = 0
        while True:
            self.request.send(str(n).encode('utf-8'))  # self.request == conn(server的IP)
            n += 1
            time.sleep(0.5)

server = ThreadingTCPServer(('127.0.0.1',9001),Myserver)  # 创建一个server将服务地址绑定到127.0.0.1:9001
server.serve_forever()    # 让server永远运行下去,除非强制停止程序

Client 1

import socket

sk = socket.socket()
sk.connect(('127.0.0.1',9001))

while True:
    ret = sk.recv(1024)
    print(ret)

Client 2

import socket

sk = socket.socket()
sk.connect(('127.0.0.1',9001))

while True:
    ret = sk.recv(1024)
    print(ret)
登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认