#服务端 import socket,os so_server=socket.socket() so_server.bind(("localhost",6969)) so_server.listen() print ("等电话!") while True: #实现多个链路连接; conn,addr=so_server.accept() print ("电话来了!") while True: data = conn.recv(1024) print (data.decode()) res=os.popen(data).read() #执行客户端命令 conn.send(res) so_server.close()
#客户端 import socket client=socket.socket() #生成socket连接对象 client.connect(("localhost",6969)) while True: msg=input(">>>:") if not msg: continue client.send(msg.encode("utf-8")) data = client.recv(1024) print ("recv:",data.decode()) client.close() 备注:以上代码,在多个客户端打开的状态下,在windows上执行,会出现第一个客户端断开后,服务端也断开导致的异常。 需要在linux上执行上述代码,方可实现多个客户端反复切换的过程。