套接字协议练习

服务端

import socket
import subprocess

phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

phone.bind(('127.0.0.1', 8080))

phone.listen(5)

while True:
conn, addr = phone.accept()

while True:
try:
data = conn.recv(1024)
obj = subprocess.Popen(data.decode('utf-8'), shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
res1 = obj.stdout.read()
res2 = obj.stderr.read()
conn.send(res1)
conn.send(res2)
except Exception:
break

conn.close()

客户端

import socket

phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

phone.connect(('127.0.0.1', 8080))

while True:
msg = input("输入要发送的消息>>>: ").strip()
if len(msg) == 0:
continue
phone.send(msg.encode('utf-8'))
data = phone.recv(1024)
print(data.decode('gbk'))

phone.close()
原文地址:https://www.cnblogs.com/0B0S/p/12739732.html