最近在学python网络编程,主要基于tcp协议,UDP协议,tcp需要客户端进行连接才能够收发数据,在执行时有三次握手四次挥手的过程,tcp协议在传送数据大于缓冲区时会连包,(连包:发送的数据一次性不能全部接受完毕,第二次接受时接受的数据是缓冲区上次遗留的数据),UDP协议的工作过程是不需要相互连接,当有客户端请求,服务端就会发生数据(类似于你在QQ上可以和不同的人聊天),并且UDP不会连包(udp的不需要连接机制导致并不那么可靠,可能会加大服务器的负荷)
下面将用代码展示通过客户端远程控制
IPV4
服务端
import socket
import subprocess
ip_addr = ('127.0.0.1',8000) #定义链接端口,用于yi一台电脑模拟server和client通信是127.0.0.1
tcp_server=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #初始socket,创建套字节
tcp_server.bind(ip_addr) #初始化tcp连接
tcp_server.listen(5) #最多可链接客户端数
while True:
conn ,addr = tcp_server.accept() #等待客户端连接
while True:
cmd = conn.recv(1024) #接收
if not cmd:break
#接受为空时跳过,如客户端有判断,则服务端将不会接受度空,可以不进行判断