zoukankan      html  css  js  c++  java
  • day27-3 基于socketserver实现并发的socket套接字编程

    基于socketserver实现并发的socket套接字编程

    并发:让服务端同时和多个客户端进行连接。使用socketserver的连接循环(并发),但是使用了自己的通信循环

    服务端

    import socketserver
    
    print('start...')
    
    
    class Myhandler(socketserver.BaseRequestHandler):
        # 通信循环
        def handle(self):
            while True:
    
                try:
                    cmd = self.request.recv(1024)
                    print('来自客户端数据:', cmd)
    
                    self.request.send(cmd.upper())
    
                except ConnectionResetError:
                    break
    
    
    if __name__ == '__main__':
        server = socketserver.ThreadingTCPServer(('127.0.0.1', 8000), Myhandler, bind_and_activate=True)
        server.serve_forever()
    

    客户端1

    from socket import *
    
    client = socket(AF_INET, SOCK_STREAM)
    
    client.connect(('127.0.0.1', 8000))
    
    while True:
    
        client.send('cmd'.encode('utf8'))
    
        data = client.recv(1024)
        print(data.decode('gbk'))
    

    客户端2

    from socket import *
    
    client = socket(AF_INET, SOCK_STREAM)
    
    client.connect(('127.0.0.1', 8000))
    
    while True:
    
        client.send('hello'.encode('utf8'))
    
        data = client.recv(1024)
        print('来自服务端的数据:',data.decode('gbk'))
    
  • 相关阅读:
    双指针
    二分查找
    二叉树
    递归思想
    排序算法
    Java常用集合使用方法总结
    攻防世界-PHP文件包含
    正则表达式随笔
    ts 函数
    ts 联合类型
  • 原文地址:https://www.cnblogs.com/863652104kai/p/11099337.html
Copyright © 2011-2022 走看看