我有一个由node.js服务器、其他文件和HTML组成的应用程序。HTML是我的客户端,它必须与node.js服务器通信。node.js服务器使用与其他node.js文件创建的对象使用以太网电缆与PLC通信。我在服务器和客户端之间建立了一个socket.io连接,在服务器和PLC之间创建了一个tcp连接。
现在的错误是:如果我启动服务器和客户端连接的所有电缆,我有一个正确的答案从PLC,如果我断开电缆在运行时,我会得到以下错误:
events.js:71
throw arguments[1]; // Unhandled 'error' event
^
Error: write EPIPE
at errnoException (net.js:770:11)
at Socket._write (net.js:552:19)
at Socket.write (net.js:511:15)
at Timer.<anonymous> (C:\Users\Massimo\workspace\Scada\plc_driver\fw_driver.
js:289:20)
at Timer.exports.setInterval.timer.ontimeout (timers.js:234:14)我已经尝试用代码来管理服务器中的一个错误
communication_socket.on('error', function () {
console.log('Error!');
});我正在运行节点0.8.18,所有的包都被更新了(我已经做了一个npm更新-g )
编辑代码的结果
process.on('uncaughtException', function(err) {
console.log(util.inspect(err));
});是:
{ [Error: write EPIPE] code: 'EPIPE', errno: 'EPIPE', syscall: 'write' }有什么建议吗?
发布于 2013-05-12 04:23:30
套接字IO错误不会以您可以尝试/捕获的方式抛出。您必须向每个套接字添加一个on('error', [callback])处理程序。您可以在Should stream.pipe forward errors?中阅读有关这方面的一些相关讨论,您没有说明为什么会有超时,以及超时所写的套接字,所以我无法提供更多帮助。
发布于 2015-02-06 21:04:21
在Metor中的部署命令失败后,出现了此错误。我能够通过在调试模式下运行应用程序,通过函数断点单击,然后再次运行deploy脚本来修复它。我希望这能帮上忙。
https://stackoverflow.com/questions/14702978
复制相似问题