查看: 153|回复: 0

Python—网络通信编程之tcp非阻塞通信(socketserver)

[复制链接]
发表于 2020-2-16 10:51:53 | 显示全部楼层 |阅读模式
服务端代码
  1. import socketserver# 定义一个类class MyServer(socketserver.BaseRequestHandler):    # 如果handle方法出现报错,则会进行跳过.但是setup方法和finish方法无论如何都会进行执行的.    def setup(self):        print("起首执行setup")                def handle(self):        print("然后执行handle")                conn = self.request                         # 定义连接变量        conn.send(("连接成功,客户端端口:%s" % (conn.getpeername()[1])).encode())   # 向客户端发送消息        while True:            data = conn.recv(1024)                  # 接收客户端消息            print(data.decode())            if not data or data == b'exit':                break            conn.send(data)        conn.close()                        def finish(self):        print("最后执行finish")            if __name__ == "__main__":        # 创建多线程实例        server = socketserver.ThreadingTCPServer(("127.0.0.1", 3120) ,MyServer)        # 开启异步多线程,等待连接        server.serve_forever()
复制代码
客户端代码
  1. import socketclient = socket.socket()client.connect(("127.0.0.1", 3120)) while True:         data = client.recv(1024)      print(data.decode())         msg = input("请输入要发送的信息...")    client.send(msg.encode())    if not msg or msg == "exit":        break     client.close()
复制代码
  

相关技术服务需求,请联系管理员和客服QQ:2753533861或QQ:619920289
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

帖子推荐:
客服咨询

QQ:2753533861

服务时间 9:00-22:00

快速回复 返回顶部 返回列表