1. TCP 세 방향 핸드 셰이크를 마련, 네 개의지도를 흔들었다
세 방향 핸드 셰이크
흔들며 네
2. 원격 TCP CMD 프로그램의 개발을 바탕으로
클라이언트가 서버에 연결 한 후 서버에 명령을 보낼 수 있습니다
, 성공적으로 실행 여부에 관계없이 명령을받은 후 수행하는 서버에 관계없이 실행 여러 번, 결과는 클라이언트에 반환됩니다
주 : 서브 프로세스 모듈을 이용하여 명령 실행 시스템이 완성된다.
서버
from socket import *
import subprocess
server=socket(AF_INET,SOCK_DGRAM)
server.bind(('127.0.0.1',9003))
while True:
#收消息
cmd,addr=server.recv(1024)
print('用户命令----->',cmd)
#逻辑处理
res=subprocess.Popen(cmd.decode('utf-8'),shell=True,stderr=subprocess.PIPE,stdin=subprocess.PIPE,stdout=subprocess.PIPE)
stderr=res.stderr.read()
stdout=res.stdout.read()
#发消息
server.sendto(stderr,addr)
server.sendto(stdout,addr)
server.close()
클라이언트
from socket import *
client=socket(AF_INET,SOCK_DGRAM)
while True:
msg=input('>>: ').strip()
client.sendto(msg.encode('utf-8'),('127.0.0.1',9003))
data,addr=client.recv(1024)
print(data.decode('utf-8'),end='')