首页 > 解决方案 > BrokenPipeError:[Errno 32] 损坏的管道,python

问题描述

所以我一直在研究这个脚本一段时间,无论我做什么,我都会不断收到“BrokenPipeError:[Errno 32] Broken pipe”我不知道我做错了什么,它应该只是一个简单的管道子进程,到套接字,但我一直收到这个错误消息。这是代码:

import socket
import platform
import subprocess
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Host = platform.node()
Port = 4444
s.bind((Host, Port))
s.listen(1)
conn, addr = s.accept()
with conn:
    while True:
        data = conn.recv(1024)
         x = subprocess.Popen(data, shell = True, stdout = subprocess.PIPE)
        x2 = x.stdout.read()
        s.sendall(x2)

这是客户端脚本:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Host = input('Remote Host:')
Port = 4444
s.connect((Host, Port))
while True:
    x = input('@-->Rhost:')
    x2 = x.encode('utf')
    s.sendall(x2)
    x3 = s.recv(1024)
    print(x3)

标签: pythonbroken-pipe

解决方案


推荐阅读