问题标签 [broken-pipe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 客户端未在 Python 中接收数据
我对 Python 很陌生并且有一个基本问题,网络套接字连接的客户端可以接收数据吗?在我的问题中,客户端是发起连接的人,这可能很明显,但我想明确一点。我问是因为我有另一个服务器和客户端(都是 python),它允许服务器从客户端接收文件。它运行良好,但我无法获得客户端接收文件的示例。Python 一直告诉我管道已损坏,我怀疑它是因为在客户端我使用了 line data = mysocket.recv(1024)
。我怀疑客户端没有看到任何数据流动,因此关闭了与服务器的连接。服务器将其视为损坏的管道。服务器和客户端如下。
服务器:
客户:
我将不胜感激有关此事的任何帮助。谢谢!
ruby - 为什么 ruby 除了在会话结束时写入 std::error 或 std::out 之外?
我编写了一个程序,可以在带有某种形式的 redhat OS 的 linux 机器上运行 16 或 20 小时。如果我使用 nohup 启动它或将输出重定向到文件,它运行良好,但是当用户启动它,将其发送到后台并注销时,它会在尝试发送简单状态消息时失败(报告数字该文件导致的文件)。它抛出一个异常,大概是因为流不再有效。
一旦我们意识到为什么它对我有用,但对他不起作用,我进行了一些测试,发现与 Python、Bash 和 perl 相比,ruby 在这种行为上是独一无二的。
在这种情况下,ruby 的行为与其他脚本语言不同,有充分的理由吗?有没有办法改变它以使其表现得像其他人一样?
我很确定 C++(和 C)不关心最终用户是否可以看到他们的消息输出——但我没有为这些语言编写测试。我惊讶地发现,一旦您注销,发送到后台的作业并没有消失!所以,我过去当然从未测试过这种行为。
c++ - 为什么在 try 块中初始化文件指针会导致管道损坏?
我有一个 bash 脚本,我正在从我的程序中读取结果。Ptr
是一个简单的popen()
包装器。
这工作正常,但Ptr f(path)
不是异常安全,所以我将其替换为:
运行时(并且文件存在)我收到以下错误:
脚本的那一行只是:
到底是怎么回事?
python - 为什么这个socket连接只允许1次发送和接收?
背景
我有一个简单的套接字服务器设置,我试图允许同时连接并回显数据。客户端启动几个线程,每个线程都与服务器建立自己的连接。这适用于 socket.send() 调用,但所有后续调用都会导致“对等连接重置”或“管道损坏”。请注意,我没有找到切换重置和损坏管道的更改。我已经在这里寻找解决方案,但恐怕我可能不知道要搜索什么。
我是以错误的方式解决这个问题,还是我忽略了我的设置中的某些东西?
服务器
客户
java - 写入响应时抛出 org.mortbay.jetty.EofException
我在 Eclipse RAP(Rich Ajax Platform 1.3.2)和 Java 1.5 中使用 jetty 6.1.23。我正在向浏览器发送 PNG 图像。这些是导致麻烦的代码片段:
服务器端:
客户端:
奇怪的是,这个问题并非一直都在发生。在我们投入生产后,它会间歇性地发生。我们的测试环境没有问题。生产环境和我们的测试环境唯一的区别是,在生产环境中,用户离我们的服务器很远,而在测试环境中,他们非常接近。
抛出异常时,客户端浏览器端根本不会显示图像!到底是怎么回事?我能做些什么来修复它或至少有一个解决方法?
这是完整的异常跟踪(我突出显示了关键异常):
java - LOG4J 冲突 JBOSS&Java 程序
我有一个从使用 log4j(RollingFile 和控制台附加程序)的 jar 启动的 java 服务器。单独:没问题,它有效。我有一个使用 log4j 的 JBoss 服务器(默认安装)。单独运行时一切正常。
当我首先启动我的 Java 服务器和 JBoss 时,也没有问题。
但是,当首先启动 JBoss 然后启动 java 服务器时,最后一个不记录任何内容,JBoss 向我发送此消息:错误 [ServerThread] 无法初始化
使用 LOG4J 的两台服务器之间是否可能存在冲突?我没有在网上找到任何东西。
谢谢
附录
- JBoss 和 Java 服务器在不同的目录中
- JBoss 和 Java 服务器不共享任何端口(8080/8433--> JBoss 和 20400-->Java)
- JBoss 和 Java 服务器在自己的库文件夹中有自己的 log4jxxxx.jar
- Java Log4j 版本:log4j-1.2.16.jar(我也试过 1.2.17)
- JBoss 版本:jboss-5.1.0.GA
- 两者都写在不同的文件中
以下是配置文件:(基本上只有控制台和附加文件)
爪哇
JBOSS(我删除了注释的附加程序)
macos - 在 Mac 上设置 Github 时遇到错误“Write failed: Broken pipe”
我在尝试设置时遇到了这个烦人的错误Github
,Mac
操作系统版本是Lion
. 基本上,我按照此URL 中提到的步骤进行操作:http://help.github.com/mac-set-up-git/
我总是停留在执行这个命令的步骤"ssh -T git@github.com"
我试图输出调试消息,下面是消息日志。最后一条消息显示这是由于错误'Write failed: Broken pipe'
。
如果您以前遇到过这个错误并且能够修复它,请给我一个解决这个错误的解决方案。非常感谢。
java - Unix域套接字上的Broken Pipe的原因是什么?
我有一个服务器应用程序,它接收请求并在 Unix 域套接字上转发它们。这在合理的使用情况下非常有效,但是当我对几千个请求进行一些负载测试时,我收到了 Broken Pipe 错误。
我正在使用带有junixsocket的 Java 7来发送请求。我有很多并发请求,但我有一个由 20 个工作人员组成的线程池,它们正在写入 unix 域套接字,因此不存在并发打开连接过多的问题。
对于每个请求,我打开、发送和关闭与 Unix 域套接字的连接。
可能导致 Unix 域套接字上的管道损坏的原因是什么?
更新:
如果需要,放置代码示例:
我有一个由 20 个工作人员组成的线程池,他们同时执行上述操作(因此最多 20 个并发连接到同一个 Unix 域套接字),每个连接都打开、发送和关闭。这对于突发 10,000 个请求的负载测试效果很好,但是当我再添加几千个请求时,我突然收到此错误,所以我想知道它是否来自某些操作系统限制。
请记住,这是一个 Unix 域套接字,而不是网络 TCP 套接字。
jsoup - 请帮我修复断管错误
在我的应用程序中,我使用 webview 从我的移动网站构建原生应用程序。当我运行应用程序时,它的加载速度非常慢。当我调试时,我收到消息说我的应用程序是 Broken pipe 错误。我在我的应用程序中使用 JSoup 库从 html 中获取价值。我不知道 Jsoup 到底有没有错误。请帮我复习一下。非常感谢!
sockets - 硬件断开后 TCP 恢复连接
我有一个持续写入 TCP 套接字的程序。我想确保如果客户端和服务器之间的连接断开任何时间,连接可以重新建立。
现在,我可以断开连线,当 write() 函数循环时,它返回一个“对等连接重置”错误,然后返回 ULLONG_MAX 的值。然后,一旦我重新插入电线, write() 就会不断返回“断管”错误。我试图关闭并重新打开连接,但我继续收到“对等方重置连接”错误。
有谁知道我如何首先重新建立连接或使其保持活动一段时间(或无限期)?