파이썬, 응용 프로그램 모듈 동시 채팅 프로그램 socketserver

server.py
 수입 socketserver의
 클래스 MyServer를 (socketserver.BaseRequestHandler) :
     데프 핸들 (자기)
         동안 진정한 : 
            CONN = self.request
             동안 참 : 
                데이터 = conn.recv (1024 )
                 의 경우 STR (데이터, ' UTF-8 ' ) == ' Q ' :
                     브레이크 
                인쇄 (STR (데이터 ' UTF8 ' )) 
                INP = 입력 ( ' >>> ') 
                conn.send (바이트 (INP, ' UTF8 ' )) 
            conn.close () 
경우  __name__ == ' __main__ ' : 
    서버 = socketserver.ThreadingTCPServer (( ' 127.0.0.1 ' , 8000 ) MyServer의) 
    server.serve_forever ()
client.py
 오기 소켓 
SK = socket.socket () 
어드레스 = ( ' 127.0.0.1 ' , 8000 ) 
sk.connect (어드레스) 
동안 참 : 
    INP = 입력 ( ' >>> ' )
     의 경우 INP == ' Q ' :
         인쇄 ( ' 안녕 ' )
         브레이크 
    sk.send (바이트 (INP, ' UTF8 ' )) 
    데이터 = sk.recv (1024 )
     인쇄 (STR (데이터 "UTF8 ' ))

구문 분석 : server.py 첫 번째 통화의 socketserver 모듈하기는 자체의 설립과 클래스 MyServer를 상속 SocketServer.BaseRequestHandler의를 , 클래스의 재 작성 투수 방법, 서버 = socketserver.ThreadingTCPServer (( ' 127.0.0.1 ', 8000 ), MyServer를) IP 주소, 포트 및 프로토콜의 캡슐화를 달성하기 위하여는, 사용자 자신의 채팅 코드가 동시에 방법을 달성하기 위해 핸들에 기록, 프로그램 실행 프로세스의 코드 실행을 처리하기 위해 이동하는 것입니다. 동시 가능 채팅.

추천

출처www.cnblogs.com/iceberg710815/p/12038304.html