node-opcua,写入错误:事务已超时

时间:2017-07-11 13:13:49

标签: node-opcua

我正在使用node-opcua 0.0.64。 我试图在我的客户端使用opcuaSession的write方法为一个变量写一个布尔值。 有些电话是成功的,但大约70%不是。 在60秒后响应显示“事务已超时”,状态代码为“statusCode”为“未定义错误”。 我可以在客户端做一些动作吗? transportTimeout怎么样?我相信它默认设置为10000。

1 个答案:

答案 0 :(得分:1)

如果在会话超时间隔内客户端和服务器之间没有进行任何事务,则

Server将断开连接。

为了确保连接保持正常,客户端通常使用两种技术:

  • 定期发出ReadRequest事务(例如读取ServerStatus)

  • 建立空订阅。订阅具有内置保持活动 强制客户端和服务器偶尔进行一次空的PublishRequest / PublishResponse通信的机制。

请注意,您可以将keepSessionAlive: true作为参数传递给NodeOPCUA客户端,以安装定期的ServerStatus读取。

或者,特定writeRequest的超时可能是由服务器本身引起的,如果它没有在请求继续的分配时间内回复。在这种情况下,这几乎是服务器实现本身的问题。