zoukankan      html  css  js  c++  java
  • Python随心记--socketserver:实现并发

    #服务端

    import socketserver
    
    class Myserver(socketserver.BaseRequestHandler):
        def handle(self):
    
            print(self.request)   #conn  连接
            print(self.client_address)  #addr  地址
    
            while True:
                try:
                    data = self.request.recv(1024)   #接收消息
                    if not data:break
                    print('收到客户端的消息是',data)
                    self.request.sendall(data.upper())   #发消息
                except Exception as e:
                    break;
    
    if __name__ == '__main__':
        s = socketserver.ThreadingTCPServer(('127.0.0.1',8080),Myserver)
        s.serve_forever()

    客服端1

    from socket import *
    import struct
    from functools import partial
    ip_port=('127.0.0.1',8080)
    back_log=5
    buffer_size=1024
    
    tcp_client=socket(AF_INET,SOCK_STREAM)
    tcp_client.connect(ip_port)
    
    while True:
        msg=input('>>: ').strip()
        if not msg:continue
        if msg == 'quit':break
    
        tcp_client.send(msg.encode('utf-8'))
    
        data = tcp_client.recv(buffer_size)
        print(data)
    
    tcp_client.close()

    客户端2

    from socket import *
    import struct
    from functools import partial
    ip_port=('127.0.0.1',8080)
    back_log=5
    buffer_size=1024
    
    tcp_client=socket(AF_INET,SOCK_STREAM)
    tcp_client.connect(ip_port)
    
    while True:
        msg=input('>>: ').strip()
        if not msg:continue
        if msg == 'quit':break
    
        tcp_client.send(msg.encode('utf-8'))
    
        data = tcp_client.recv(buffer_size)
        print(data)
    
    tcp_client.close()
  • 相关阅读:
    MySQL——索引
    MySQL——逻辑分层与存储引擎
    APP测试总结
    如何提高测试的质量
    测试用例的基础
    opencv图像处理常用操作一
    【bug】【Cannot find reference 'imread' in '__init__.py | __init__.py'】
    Numpy学习笔记
    工业互联网
    Python基本的数据清洗
  • 原文地址:https://www.cnblogs.com/Essaycode/p/10259285.html
Copyright © 2011-2022 走看看