zoukankan      html  css  js  c++  java
  • day40---作业

    import socket
    from multiprocessing import Process

    IP_ADDRESS = ('0.0.0.0', 9090)
    BUF_SIZE = 1024

    class MyServer:
    def init(self, ip_address, buf_size):
    self.ip_address = ip_address
    self.buf_size = buf_size
    self.server = socket.socket()
    self.server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

    def bind(self):
        self.server.bind(self.ip_address)
    
    def listen(self):
        self.server.listen(5)
    
    def accept(self):
        return self.server.accept()
    
    def communicate(self, conn, ip):
        while 1:
            try:
                msg = conn.recv(self.buf_size)
                if not msg: break
                print(f"[{ip}]发来消息:{msg.decode('utf-8')}")
                conn.send(('小鸡炖蘑菇'.center(30, '=')).encode('utf-8'))
            except ConnectionResetError as e:
                print(f'connect error:{e}')
                break
        conn.close()
    
    def run(self):
        self.bind()
        self.listen()
        while 1:
            conn, addr = self.accept()
            print(f'接到[{addr[0]}:{addr[1]}]的电话...')
            p = Process(target=self.communicate, args=(conn, addr[0]))
            p.start()
    

    if name == 'main':
    server = MyServer(IP_ADDRESS, BUF_SIZE)
    server.run()

  • 相关阅读:
    形态学操作
    形态学腐蚀膨胀操作
    图像模糊操作
    OpenCV像素操作和图形绘制
    c++中char类型的取值范围
    二叉树基本操作
    剑指27 二叉树的镜像
    剑指26 树的子结构
    剑指24: 反转链表
    剑指22 链表倒数第k个节点
  • 原文地址:https://www.cnblogs.com/surpass123/p/12769369.html
Copyright © 2011-2022 走看看