#服务端
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上执行上述代码,方可实现多个客户端反复切换的过程。