JavaScript Websocket自己的密码

时间:2018-01-25 15:23:57

标签: javascript angularjs websocket

我遇到了以下问题: 对于客户,我必须能够打开与不同websockets的websocket连接,具体取决于当前视图。 连接&消息处理没有问题&一切都按预期工作。 但是,我想实现一个在切换视图时关闭打开的websockets的函数,因此它们不会无缘无故地保持运行。 我通过以下代码执行此操作:

$scope.closeOpenWebsockets = function () {    
    var  socketLength  =  $scope.openWebsockets.length;    
    while (socketLength--) {      
        console.log($scope.openWebsockets[socketLength]);
         $scope.openWebsockets[socketLength].close(4999);    
    }    
     $scope.openWebsockets  =   [];
};

$scope.addOpenWebsocket = function (socket) {    
     $scope.openWebsockets.push(socket);
};

这确实有效,我唯一无法工作的是改变websocket的密码。 基于我在这里找到的列表: https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent

我尝试使用其中列出的各种代码,但似乎都没有。每次我自己调用.close()时,我得到的密码是1006.上面的例子是4999,一个通常可用于应用程序的密码。但是在尝试发送1000例时也没有用。

我需要这个的原因是因为连接也可以从另一侧关闭,&在这种情况下,我需要尝试重新连接。 (它始终是一个紧密的事件,而不是错误事件)。

我希望基于密切的代码执行此操作,但我想选择手动关闭时发送的代码,以便我确定我不会阻止我可能收到的任何其他密码(我只能进行有限的测试源系统&因此我不是100%确定我可能收到的所有可能的代码)

正如在代码中可见,我在AngularJS中这样做。

我在这里遗漏了什么吗?我查看了很多stackoverflow帖子/ websocket指南等等。但我没有找到任何东西。

编辑:这是我找到的指南之一: https://www.tutorialspoint.com/websockets/websockets_closing_connection.htm

0 个答案:

没有答案