作者:金豪情圣 | 来源:互联网 | 2023-08-18 09:10
1.整理TCP三次握手、四次挥手图首先是三次握手:1首先客户端发送了一个请求给服务端2服务端处于接收状态,且接受到了请求,因此返回了一个确认给客户端,同时也发送了一个请求给服务
1.整理TCP三次握手、四次挥手图
首先是三次握手:
1首先客户端发送了一个请求给服务端
2服务端处于接收状态,且接受到了请求,因此返回了一个确认给客户端,同时也发送了一个请求给服务端
3客户端收到了确认和请求,于是二者开始正式建交
四次挥手:
1.客户端发了一个掐断连接的请求给服务器
2.服务器接受到了请求,并确认是否还有未执行的任务,无论执行多少倍都会传给客户端
3.服务器进入关闭等待状态
4.客户端也进入time_wait状态,可以使其再内存中消散
2.基于TCP开发一款远程CMD程序 客户端连接服务器后,可以向服务器发送命令 服务器收到命令后执行,无论执行是否成功,无论执行几遍,都将执行结果返回给客户端 注意: 执行系统指令使用subprocess模块完成.
服务端
import subprocess
import re
import socket
server=socket.socket()
server.bind(
('127.0.0.1',9527)#用于寻找服务端
)
server.listen(0)#只有一个人能上我
conn,addr=server.accept()
print(addr)
while True:
try:
data=conn.recv(1024).decode('utf8')
print(data)
# back_list=[]
back=subprocess.check_output(data,shell=True)
buck=back.strip()
# back_list.append(back.split)
# back=back.strip()
print(buck)
except Exception as e:
print(e)
break
conn.close()
客户端
import subprocess
import socket
client=socket.socket()
client.connect(
('127.0.0.1',9527)#用于寻找服务端
)
while True:
send_msg=input('输入命令给服务器:')
client.send(send_msg.encode('utf8'))
if send_msg=='q':
break
data=client.recv(1024).decode('utf8')
print(data)
client.close()