标签:tde list color add 分享图片 input show event exception
解决方法一:
客户端:
from socket import *
import struct
import json
# ip = ‘127.0.0.1‘
ip=‘192.168.0.105‘
port = 8080
back_log = 5
buffer_size = 1024
tcp_client = socket(AF_INET, SOCK_STREAM)
tcp_client.connect((ip, port))
while True:
cmd = input(‘>>: ‘).strip()
if cmd is None: continue
tcp_client.send(cmd.encode(‘utf-8‘))
length = tcp_client.recv(buffer_size)
length = int(length.decode(‘utf-8‘))
tcp_client.send(b‘ready‘)
recv_size = 0
recv_msg = b‘‘
while recv_size < length:
recv_msg += tcp_client.recv(buffer_size)
recv_size = len(recv_msg)
cmd_res = recv_msg
print(cmd_res.decode(‘gbk‘))
tcp_client.close()
服务端:
from socket import *
import subprocess
ip = ‘‘
port = 8080
back_log = 5
buffer_size = 1024
tcp_server = socket(AF_INET, SOCK_STREAM)
tcp_server.bind((ip, port))
tcp_server.listen(back_log)
while True:
conn, addr = tcp_server.accept()
print(‘新的连接是‘, conn)
print(‘新链接抵值‘, addr)
while True:
try:
cmd = conn.recv(buffer_size)
if not cmd: break
res = subprocess.Popen(cmd.decode(‘utf-8‘), shell=True,
stdout=subprocess.PIPE,
stdin=subprocess.PIPE,
stderr=subprocess.PIPE)
err = res.stderr.read()
if err:
cmd_res = err
else:
cmd_res = res.stdout.read()
length = len(cmd_res)
conn.send(str(length).encode(‘gbk‘))
ready = conn.recv(buffer_size)
if ready == b‘ready‘:
conn.send(cmd_res)
except Exception as e:
print(e)
break
conn.close()
tcp_server.close()
进阶版2:
客户端:
from socket import * import struct import json ip = ‘127.0.0.1‘ # ip=‘192.168.0.105‘ port = 8080 back_log = 5 buffer_size = 1024 tcp_client = socket(AF_INET, SOCK_STREAM) tcp_client.connect((ip, port)) while True: cmd = input(‘>>: ‘).strip() if cmd is None: continue tcp_client.send(cmd.encode(‘utf-8‘)) length = tcp_client.recv(4) length = int(length.decode(‘gbk‘)[0]) recv_size = 0 recv_msg = b‘‘ while recv_size < length: recv_msg += tcp_client.recv(buffer_size) recv_size = len(recv_msg) cmd_res = recv_msg print(cmd_res.decode(‘gbk‘)) tcp_client.close()
服务端:
from socket import * import struct import json ip = ‘127.0.0.1‘ # ip=‘192.168.0.105‘ port = 8080 back_log = 5 buffer_size = 1024 tcp_client = socket(AF_INET, SOCK_STREAM) tcp_client.connect((ip, port)) while True: cmd = input(‘>>: ‘).strip() if cmd is None: continue tcp_client.send(cmd.encode(‘utf-8‘)) length = tcp_client.recv(4) length = int(length.decode(‘gbk‘)[0]) recv_size = 0 recv_msg = b‘‘ while recv_size < length: recv_msg += tcp_client.recv(buffer_size) recv_size = len(recv_msg) cmd_res = recv_msg print(cmd_res.decode(‘gbk‘)) tcp_client.close()
进阶版3:
标签:tde list color add 分享图片 input show event exception
原文地址:https://www.cnblogs.com/dunr/p/9091530.html