socket通信——TCP 服务端
import os
import socket
HOST = '172.25.254.31'
PORT = 9887
with socket.socket() as serverSocket:
serverSocket.bind((HOST, PORT))
serverSocket.listen()
print("server is listening %d......." %(PORT))
clientSocket, address = serverSocket.accept()
with clientSocket:
while True:
cmd = clientSocket.recv(1024).decode('utf-8')
""" 执行linux命令:
1. 如果想获取命令是否执行成功? os.systemc('cmd')
返回为0: 代表成功
返回为非0, 代表失败;
2. 如果想获取命令的执行结果,可以保存到变量中 os.popen(cmd)"""
if os.system(cmd) == 0:
resData = os.popen(cmd).read()
if resData:
resData = resData.encode('utf-8')
clientSocket.send(resData)
else:
print("no response.")
else:
print("命令执行失败!")
socket通信—TCP 客户端
import socket
HOST = '172.25.254.31'
PORT = 9887
with socket.socket() as clientSocket:
clientSocket.connect((HOST, PORT))
while True:
cmd = input('client>>').encode('utf-8')
clientSocket.send(cmd)
recvData = clientSocket.recv(1024).decode('utf-8')
print("命令执行结果:", recvData)