zoukankan      html  css  js  c++  java
  • Python(socketserver并发聊天)

    day27

    一个server与多个client聊天。

    server.py

     1 import socketserver
     2 
     3 class MyServer(socketserver.BaseRequestHandler):
     4 
     5     def handle(self):#重写覆盖父类中的方法
     6         print ("服务端启动...")
     7         while True:
     8             conn = self.request
     9             print (self.client_address)
    10             while True:
    11 
    12                 client_data=conn.recv(1024)
    13 
    14                 print (str(client_data,"utf8"))
    15                 print ("waiting...")
    16                 server_response=input(">>>")
    17                 conn.sendall(bytes(server_response,"utf8"))
    18                 # conn.sendall(client_data)
    19 
    20             conn.close()
    21             # print self.request,self.client_address,self.server
    22 
    23 
    24 if __name__ == '__main__':
    25     #实现并发效果
    26     server = socketserver.ThreadingTCPServer(('127.0.0.1',8098),MyServer)#多线程tcp服务类
    27     server.serve_forever()

    client.py

    import socket
    
    ip_port = ('127.0.0.1',8098)
    sk = socket.socket()
    sk.connect(ip_port)
    print ("客户端启动:")
    
    while True:
        inp = input('>>>')
        sk.sendall(bytes(inp,"utf8"))
        if inp == 'exit':
            break
        server_response=sk.recv(1024)
        print (str(server_response,"utf8"))
    sk.close()

    可以对应不同的client进行聊天。

    listen默认有5个可以排队,所以最多5个client。

  • 相关阅读:
    对抗杀软高级启发(主动防御)技术
    __readfsdword __readgsqword PEB TEB
    net1 user
    vc 获取windows 网卡信息
    RunPE
    windows crpyt API 实现DES 3DES 3DES_112 加解密
    软件开发图标收藏
    有关windows 网卡信息获取
    BCGPContorBar 静态工程设置详解
    (二)特征匹配
  • 原文地址:https://www.cnblogs.com/112358nizhipeng/p/9895581.html
Copyright © 2011-2022 走看看