net-module在嵌入式Linux中拉电缆时没有做出反应

时间:2016-08-09 13:19:58

标签: node.js sockets connection embedded-linux

我有一个我想讨论的问题。 我使用npm模块节点7与西门子PLC(一种用于自动化流程的工业计算机)进行通信。 NodeS7使用net-module为整个通信创建一个套接字。

现在问题: 我正在读取plc的循环值。为了模拟连接错误,我拔下了以太网电缆。我在三个操作系统上测试了我的软件的反应。 Windows,Ubuntu VM和目标系统是嵌入式Linux操作系统。他们每个人都表现不同。 Windows-OS和Ubuntu VM正在停止良好的通信。在emb。 Linux没有任何反应。我调试了网络模块,看看它发生了什么。

下图显示了每个操作系统的日志文件。

enter image description here

left shell = Windows:在nodeS7-library超时后,net-module检测到ECONNRESET middle shell = Ubuntu:在nodeS7-library的超时后,网络模块检测到EOF right shell =嵌入式Linux:没有检测到任何东西

当你查看网络模块的src-code时,可以看到调试日志onread是在onread-function中创建的。只要句柄获得缓冲区,或者读取错误,就会始终调用on-read函数。见here

好吧,我有阅读错误。我做错了什么??? 有什么想法吗?

0 个答案:

没有答案