Multithread сокет-сервер на основе поддержки одновременно

Процесс пул | пул потоков (синхронная, асинхронная блокировка, без блокировки) 
Многопоточность: IO-интенсивной
мульти-процесс: Вычислительный интенсивно
потоком является процессором для запуска блока, процесс блок ресурсов
из гнезда импорта *
 из резьба импорта Thread 

четкости comunicat (соппы):
     в то время как True:   # 通信循环
        попробовать : 
            данные = conn.recv (1024 )
             , если Len (данные) == 0: разрыв 
            conn.send (data.upper ()) 
        кроме ConnectionResetError:
             разрыв 
    conn.Close () 

Защиты сервер (IP, порт, накопившийся = 5 ): 
    сервер = сокет (AF_INET, SOCK_STREAM) 
    server.bind ((ф, порт)) 
    server.listen (проволочки)

    в то время как True:   # 链接循环 
        сопп, CLIENT_ADDR = server.accept ()
         печать (CLIENT_ADDR) 

        # 通信 
        т = Thread (цель = comunicat, Args = (Конн)) 
        t.start () , 

если  __name__ == ' __main__ ' : 
    s = (целевые темы = сервер, Args = ( ' 127.0.0.1 ' , 8081 )) 
    s.start ()
сервер
из гнезда импорта * 

клиент = сокет (AF_INET, SOCK_STREAM) 
client.connect (( ' 127.0.0.1 ' , 8081 ))
 , а True: 
    тзд = вход ( " >>: " ) .strip ()
     , если Len (MSG) == 0: продолжить 
    client.send (msg.encode ( ' -8 UTF ' )) 
    данные = client.recv (1024 )
     печать (data.decode ( ' UTF-8 ' ))
клиент

Достигнутый когда сервер включен, вы можете запустить несколько клиентов, но есть десять тысяч клиента, сервер будет открывать несколько потоков для выполнения, это будет пустой тратой ресурсов

рекомендация

отwww.cnblogs.com/zhouhao123/p/10994487.html