python - 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)
解决方案
推荐阅读
- kubernetes - 错误:(gcloud.beta.filestore.instances.create)解析错误 [instance]
- css - scss自定义mixin覆盖更改值不替换,但添加它
- flutter - Flutter 相当于 Xamarin Forms Element AutomationID
- typescript - 方法的单独公共/私人签名
- python - 使用 python 请求保存整个网页而不是基本 html 以进行抓取
- ruby-on-rails - Rails:多态性,未定义的方法“primary_key”用于String:Class
- laravel - 如何在本地主机上使用 laravel spatie(谷歌分析)
- javascript - 在 Rails Web 应用程序中未呈现 Toastr 通知
- html - 网格系统。如何删除填充
- python - 无法使用单独的 html 容器在 shopee 上拉价格