什么是粘包现象
简单远程执行命令程序开发(30分钟) 是时候用户socket干点正事呀,我们来写一个远程执行命令的程序,写一个socket client端在windows端发送指令,一个socket server在Linux端执行命令并返回结果给客户端 执行命令的话,肯定是用我们学过的subprocess模块啦,但 注意注意注意: res = subprocess.Popen(cmd.decode('utf-8'),shell=True,stderr=subprocess.PIPE,stdout=subprocess.PIPE) 命令结果的编码是以当前所在的系统为准的,如果是windows,那么 res.stdout.read()读出的就是GBK编码的 ,在接收端需 要用GBK解码,且只能从管道里读一次结果 ssh server import socket import subprocess ip_port = ('127.0.0.1', 8080) tcp_socket_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcp_socket_server.bind(ip_port) tcp_socket_server.listen(5) while True: conn, addr = tcp_socket_server