带有确认的Socketclustser无法正常工作

里尔·费根宗

我尝试在NodeJS中将socketCluster与确认一起使用。

我遵循此页面中的代码:https : //socketcluster.io/docs/basic-usage/

[服务器]发布到频道并等待确认

(async () => {
  try {
    // Publish data; wait for an acknowledgement from the back end broker (if it exists).
    await agServer.exchange.invokePublish('foo', 'This is some more data');
  } catch (error) {
    // ... Handle potential error if broker does not acknowledge before timeout.
  }
})();

但是我没有得到认可,也不知道缺少了什么。我尝试使用此选项{ackTimeout:10000}上传套接字集群服务器,但没有帮助。我如何知道是否收到该消息?

伊萨姆·哈奇米(Issam El Hachimi)

回复您对@Lior的最后评论。如果尚未收到ACK,将执行“ catch”块。如何正确重试=我不知道。我不是SocketCluster专家,但是似乎没有自动机制可以处理此问题。您可以在try / catch块周围放置一个“ do / while”循环(通过防止无限循环):

let i = 0;
let callIsSuccessful = false;
do {
  try {
    // Publish data; wait for an acknowledgement from the back end broker (if it     exists).
    await agServer.exchange.invokePublish('foo', 'This is some more data');
    callIsSuccessful = true;
  } catch (error) {
        // ... Handle potential error if broker does not acknowledge before timeout.
  }
} while (i++ < MAX_RETRIES && (!callIsSuccessful))

您还可以通过递归的方式调用执行发布操作的函数:

callingFunction(paramData, currentRetryNumber){
    if(currentRetryNumber >= MAX_RETRIES){
        return;
    }
    try {
        // Publish data; wait for an acknowledgement from the back end broker (if it     exists).
        await agServer.exchange.invokePublish('foo', 'This is some more data');
    } catch (error) {
        callingFunction(paramData, ++currentRetryNumber);
        // ... Handle potential error if broker does not acknowledge before timeout.
    }
}
(async () => {
    callingFunction(paramData, 0);
})();

令人满意吗?;)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有ajax的addeventlistener无法正常工作

来自分类Dev

带有Firebase的Cordova无法正常工作

来自分类Dev

带有字幕的TextView无法正常工作

来自分类Dev

带有addPreferencesFromResource的AppCompatPreferenceActivity无法正常工作

来自分类Dev

带有Lastrow的FormulaArray无法正常工作

来自分类Dev

带有uiPageViewControllers的SetViewControllers无法正常工作

来自分类Dev

带有SliverAppBar的ScrollablePositionedList无法正常工作

来自分类Dev

带有AJAX的fancybox无法正常工作

来自分类Dev

带有bxslider的Colorbox无法正常工作

来自分类Dev

带有getIdentifier的findViewById无法正常工作

来自分类Dev

带有Firebase的Cordova无法正常工作

来自分类Dev

带有jsp的Servlet无法正常工作

来自分类Dev

带有archiveRootObject的URLByAppendingPathComponent无法正常工作?

来自分类Dev

带有灰度的imagemagick无法正常工作

来自分类Dev

带有uiPageViewControllers的SetViewControllers无法正常工作

来自分类Dev

AngularJS密码确认noMatch无法正常工作?

来自分类Dev

Ruby on Rails:密码确认无法正常工作

来自分类Dev

确认订单按钮无法正常工作

来自分类Dev

jQuery确认(href)无法正常工作

来自分类Dev

确认对话框无法正常工作

来自分类Dev

带有ng-if的ngTable无法正常工作

来自分类Dev

带有Interactive Brokers API的Ibpy无法正常工作

来自分类Dev

带有市场的Admin-SDK无法正常工作

来自分类Dev

Angular中带有$ http的HTTPS无法正常工作

来自分类Dev

为什么带有AJAX的rspec示例无法正常工作?

来自分类Dev

带有关键路径“界限”的CABasicAnimation无法正常工作

来自分类Dev

带有HTML的Ejs引擎无法正常工作

来自分类Dev

带有Views参数的Ajax Quicktab无法正常工作

来自分类Dev

带有AllowColumnReorder的ListView OwnerDraw无法正常工作

Related 相关文章

  1. 1

    带有ajax的addeventlistener无法正常工作

  2. 2

    带有Firebase的Cordova无法正常工作

  3. 3

    带有字幕的TextView无法正常工作

  4. 4

    带有addPreferencesFromResource的AppCompatPreferenceActivity无法正常工作

  5. 5

    带有Lastrow的FormulaArray无法正常工作

  6. 6

    带有uiPageViewControllers的SetViewControllers无法正常工作

  7. 7

    带有SliverAppBar的ScrollablePositionedList无法正常工作

  8. 8

    带有AJAX的fancybox无法正常工作

  9. 9

    带有bxslider的Colorbox无法正常工作

  10. 10

    带有getIdentifier的findViewById无法正常工作

  11. 11

    带有Firebase的Cordova无法正常工作

  12. 12

    带有jsp的Servlet无法正常工作

  13. 13

    带有archiveRootObject的URLByAppendingPathComponent无法正常工作?

  14. 14

    带有灰度的imagemagick无法正常工作

  15. 15

    带有uiPageViewControllers的SetViewControllers无法正常工作

  16. 16

    AngularJS密码确认noMatch无法正常工作?

  17. 17

    Ruby on Rails:密码确认无法正常工作

  18. 18

    确认订单按钮无法正常工作

  19. 19

    jQuery确认(href)无法正常工作

  20. 20

    确认对话框无法正常工作

  21. 21

    带有ng-if的ngTable无法正常工作

  22. 22

    带有Interactive Brokers API的Ibpy无法正常工作

  23. 23

    带有市场的Admin-SDK无法正常工作

  24. 24

    Angular中带有$ http的HTTPS无法正常工作

  25. 25

    为什么带有AJAX的rspec示例无法正常工作?

  26. 26

    带有关键路径“界限”的CABasicAnimation无法正常工作

  27. 27

    带有HTML的Ejs引擎无法正常工作

  28. 28

    带有Views参数的Ajax Quicktab无法正常工作

  29. 29

    带有AllowColumnReorder的ListView OwnerDraw无法正常工作

热门标签

归档