赖勋彪,凑热闹简谱,幼儿园托班育儿知识
server.py
import socket
import subprocess
sk = socket.socket()
sk.bind(('127.0.0.1', 8081))
sk.listen(5)
while True:
conn, addr = sk.accept()
while True:
try:
recv_data = conn.recv(1024) if len(recv_data) == 0:break p = subprocess.Popen(str(recv_data, encoding='utf8'), shell=True, stdout=subprocess.PIPE) res = p.stdout.read() if len(res) == 0: send_data = 'cmd_err' else: send_data = str(res, encoding='gbk') send_data = bytes(send_data, encoding='utf8') ready_tag = 'Ready|%s' % len(send_data) conn.send(bytes(ready_tag, encoding='utf8')) feedback = conn.recv(1024) feedback = str(feedback, encoding='utf8') if feedback.startswith('Start'): conn.send(send_data) except Exception: break conn.close()
client.py
import socket
cli = socket.socket()
cli.connect(('127.0.0.1', 8081))
while True:
send_data = input('>>:').strip() if send_data == 'exit':break if len(send_data) == 0:continue cli.send(bytes(send_data, encoding='utf-8')) ready_tag = cli.recv(1024) ready_tag = str(ready_tag, encoding='utf-8') if ready_tag.startswith('Ready'): msg_size = int(ready_tag.split('|')[-1]) start_tag = 'Start' cli.send(bytes(start_tag, encoding='utf8')) recv_size = 0 recv_msg = b'' while recv_size<msg_size: recv_data = cli.recv(1024) recv_msg += recv_data recv_size += len(recv_data) print('MSG SIZE %s RECE SIZE %s' % (msg_size, recv_size)) print(str(recv_msg, encoding='utf8'))
cli.close()
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
win10如何启用管理员账户 win10禁用/启用管理员账户的方法
win10怎么查看驱动是否异常 Win10检测驱动程序是否正常的方法
Windows10系统任务栏无效图标怎么删除 通过注册表一键快速删除
Win10系统自动重启怎么办 Win10系统自动重启的关闭方法
怎么减少win10笔记本功耗 详谈笔记本硬件功耗大的原因和解决办法
网友评论