首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node-opcua“事务已超时”

node-opcua“事务已超时”
EN

Stack Overflow用户
提问于 2017-04-10 21:33:33
回答 1查看 523关注 0票数 0

我已经使用node-opcua包设置了对几个nodeIds的监控。它在一段时间内工作得很好,但随后开始打印一些超时消息。

下面是我的服务的journalctl输出:

代码语言:javascript
复制
Apr 07 08:02:02 test-machine myservice[559]:  Timeout .... waiting for response for  ReadRequest { /*RequestHeader*/
Apr 07 08:02:02 test-machine myservice[559]:  authenticationToken           /* NodeId                           */: ns=0;i=50
Apr 07 08:02:02 test-machine myservice[559]:  timeStamp                     /* UtcTime                          */: 2017-04-07T15:01:02.501Z
Apr 07 08:02:02 test-machine myservice[559]:  requestHandle                 /* IntegerId                        */: 334               0x14e
Apr 07 08:02:02 test-machine myservice[559]:  returnDiagnostics             /* UInt32                           */: 0               0x0
Apr 07 08:02:02 test-machine myservice[559]:  auditEntryId                  /* UAString                         */:
Apr 07 08:02:02 test-machine myservice[559]:  timeoutHint                   /* UInt32                           */: 0               0x0
Apr 07 08:02:02 test-machine myservice[559]:  additionalHeader              /* ExtensionObject                  */: null
Apr 07 08:02:02 test-machine myservice[559]: };
Apr 07 08:02:02 test-machine myservice[559]:  warning :  Transaction has timed out
Apr 07 08:02:15 test-machine myservice[559]:  Timeout .... waiting for response for  ReadRequest { /*RequestHeader*/
Apr 07 08:02:15 test-machine myservice[559]:  authenticationToken           /* NodeId                           */: ns=0;i=50
Apr 07 08:02:15 test-machine myservice[559]:  timeStamp                     /* UtcTime                          */: 2017-04-07T15:01:15.835Z
Apr 07 08:02:15 test-machine myservice[559]:  requestHandle                 /* IntegerId                        */: 335               0x14f
Apr 07 08:02:15 test-machine myservice[559]:  returnDiagnostics             /* UInt32                           */: 0               0x0
Apr 07 08:02:15 test-machine myservice[559]:  auditEntryId                  /* UAString                         */:
Apr 07 08:02:15 test-machine myservice[559]:  timeoutHint                   /* UInt32                           */: 0               0x0
Apr 07 08:02:15 test-machine myservice[559]:  additionalHeader              /* ExtensionObject                  */: null
Apr 07 08:02:15 test-machine myservice[559]: };
Apr 07 08:02:15 test-machine myservice[559]:  warning :  Transaction has timed out
Apr 07 08:02:29 test-machine myservice[559]:  Timeout .... waiting for response for  ReadRequest { /*RequestHeader*/
Apr 07 08:02:29 test-machine myservice[559]:  authenticationToken           /* NodeId                           */: ns=0;i=50
Apr 07 08:02:29 test-machine myservice[559]:  timeStamp                     /* UtcTime                          */: 2017-04-07T15:01:29.169Z
Apr 07 08:02:29 test-machine myservice[559]:  requestHandle                 /* IntegerId                        */: 336               0x150
Apr 07 08:02:29 test-machine myservice[559]:  returnDiagnostics             /* UInt32                           */: 0               0x0
Apr 07 08:02:29 test-machine myservice[559]:  auditEntryId                  /* UAString                         */:
Apr 07 08:02:29 test-machine myservice[559]:  timeoutHint                   /* UInt32                           */: 0               0x0
Apr 07 08:02:29 test-machine myservice[559]:  additionalHeader              /* ExtensionObject                  */: null
Apr 07 08:02:29 test-machine myservice[559]: };
Apr 07 08:02:29 test-machine myservice[559]:  warning :  Transaction has timed out
Apr 07 08:03:01 test-machine myservice[559]:  Timeout .... waiting for response for  OpenSecureChannelRequest { /*RequestHeader*/
Apr 07 08:03:01 test-machine myservice[559]:  authenticationToken           /* NodeId                           */: ns=0;i=0
Apr 07 08:03:01 test-machine myservice[559]:  timeStamp                     /* UtcTime                          */: 2017-04-07T15:02:01.928Z
Apr 07 08:03:01 test-machine myservice[559]:  requestHandle                 /* IntegerId                        */: 337               0x151
Apr 07 08:03:01 test-machine myservice[559]:  returnDiagnostics             /* UInt32                           */: 0               0x0
Apr 07 08:03:01 test-machine myservice[559]:  auditEntryId                  /* UAString                         */: null
Apr 07 08:03:01 test-machine myservice[559]:  timeoutHint                   /* UInt32                           */: 0               0x0
Apr 07 08:03:01 test-machine myservice[559]:  additionalHeader              /* ExtensionObject                  */: null
Apr 07 08:03:01 test-machine myservice[559]: };
Apr 07 08:03:01 test-machine myservice[559]: Warning: securityToken hasn't been renewed

基本上,我希望永远保持监控,并每15分钟发布一次。所以,如果有人也能帮助我设置参数,那就太好了。

EN

回答 1

Stack Overflow用户

发布于 2017-04-12 14:33:23

如果你有访问服务器的权限,你可以看看这个post

在帖子中,他们指出,当您设置客户端时,应至少将requestedLifetimeCount * requestedPublishingInterval设置为PublishRequest.RequestHeader.timeoutHint

代码语言:javascript
复制
var options = {
  requestedPublishingInterval: 1000, // check on server
  requestedMaxKeepAliveCount: 2,
  requestedLifetimeCount: 100, // check on server
  maxNotificationsPerPublish: 10,
  publishingEnabled: true,
  priority: 10,
}

var subscription = new opcua.ClientSubscription(opcSession, options);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43324654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档