# ### 서버 가져 오기 소켓 가져 오기 시간 SK = socket.socket () # 바인드 방법 전에이 문장을 추가, 당신은 포트를 재사용 할 수 sk.setsockopt을 (socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # 타이 어드레스 (네트워크에 등록 된 호스트) 포트 세트 sk.bind (( "127.0.0.1", 9000)) sk.listen () 코네티컷, ADDR sk.accept = () conn.send를 ( ". 6"함수 .encode ( "UTF -11 ")) 메시지 ="안녕하세요 " conn.send (message.encode ("UTF-. 8 ")) 중 # time.sleep (0.1) conn.send ("세계 "함수 .encode ("UTF-. 8 ")) # 네 번째 웨이브 conn.Close () # 포트 환불 sk.close () # ### 클라이언트 가져 오기 소켓 가져 오기 시간 SK = socket.socket () sk.connect (( "127.0.0.1",9000)) #에 time.sleep (0.2) 이 res0 = INT (sk.recv. (1) .decode ( "UTF-. 8"))의 #이 res0. "6" 인쇄 (이 res0) RES1 = sk.recv (이 res0) 인쇄 (RES1) # 전단 (res1.decode ( "UTF -11 ")) RES2 = sk.recv (10) 전단 (RES2) sk.close () ---------------------------- -------------------------------------------------- ---------------- # ### 서버 가져 오기 소켓 가져 오기 시간 SK = socket.socket () 바인드 방법 전에 #이 문장을 추가, 당신은 포트 재사용을 할 수 있습니다 sk.setsockopt (socket.SOL_SOCKET, socket.SO_REUSEADDR 1) (네트워크에 등록 된 호스트) # 바인드 어드레스 포트 sk.bind (( "127.0.0.1", 9000)) sk.listen () CONN, SK = 요지 .accept () conn.send ( "00000120"함수 .encode ( "UTF-. 8")) 메시지 = "안녕하세요"* 20 conn.send (message.encode ( "UTF-8")) #에 time.sleep (0.1) conn.send ( "세계"함수 .encode ( "UTF-8")) #四次挥手 conn.close () #退还端口 sk.close () # ###客户端 수입 소켓 수입 타임 SK = socket.socket () sk.connect (( "127.0.0.1"을, 9000)) #의 time.sleep (0.2) 이 res0 = INT (SK. RECV (8) .decode ( "UTF-8"))이 res0 #의 "6" 인쇄 (이 res0) RES1 = sk.recv (이 res0) 인쇄 (RES1) # 전단 (res1.decode ( "UTF-8")) RES2 = sk.recv (10) 인쇄 (RES2) SK.사용 닫기 () ----------------------------------------------- ------------------------------------------------- # ### 서버 가져 오기 소켓 가져 오기 구조체 socket.socket = SK () sk.setsockopt (socket.SOL_SOCKET, socket.SO_REUSEADDR ,. 1) sk.bind (( "127.0.0.1", 9000)) sk.listen () 코네티컷, ADDR sk.accept = () 의 InP INPUT = ( ">>> MSG") ( ". UTF-8") MSG = inp.encode 의 고정 길이를 갖는 4 바이트에, 팩으로 변환 된 송신 데이터 #의 길이 값 입술 = 다음 struct.pack ( "I", LEN (MSG)) conn.send (RES) # 다음, 실제 전송 데이터 시작 conn.send (MSG) conn.send ( "세계"함수 .encode ( "UTF-. 8")) RES = conn.recv (1024) 인쇄 (RES) 인쇄 (res.decode () "UTF-8") # 4 차 conn.Close () # 환불 포트 sk.close () # ### 클라이언트 가져 오기 소켓 가져 오기 구조체 시간 가져 오기 SK = socket.socket () SK.연결 (( "127.0.0.1", 9000)) (0.1)을 time.sleep # 4 바이트 길이가 허용 그는 실제로 변환 전송 될 수있다. N-sk.recv =. (4) N - struct.unpack = ( "I", N-) [0] 프린트 (N-) # 다음 서버에서 전송되는 데이터 수신 RES1 = sk.recv (N-) 인쇄 (res1.decode를 ( "UTF-. 8")) RES2 = sk.recv (1024) 인쇄 (res2.decode ( "UTF -8 ")) 아스키 코드보다 더 # 공간, 우리는주의를 기울이십시오. sk.send를 (B"i_love_you ") #은 연결 닫습니다 sk.close을 ()