Don*_*lie 2 javascript sockets communication sails.js
我有两个后端通过套接字相互通信.在发送一个我只爆炸.在接收一个
const socketIOClient = require('socket.io-client');
const sailsIOClient = require('sails.io.js');
const io = sailsIOClient(socketIOClient);
io.sails.url = "http://route.to.my.backend";
io.sails.initialConnectionHeaders = {secret: process.env.SOCKETSECRET};
Run Code Online (Sandbox Code Playgroud)
当套接字连接中断时,套接字将不会重新连接.我尝试过:
io.sails.forceNew = true;
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我怎么能强迫他们重新连接?
这是一个老问题,但由于我有一个似乎没有文档的解决方案(并没有提供其他答案),我发布以供将来参考.
SailsSocket实例在使用sails.io.js节点模块时不会尝试重新连接io.socket._raw.io._reconnection为true具体来说,当您的套接字断开连接时,将上面的属性设置为,true套接字将自动尝试重新连接.
io.socket.on('disconnect', function() {
io.socket._raw.io._reconnection = true;
});
Run Code Online (Sandbox Code Playgroud)
这是相当丑陋,因为你必须访问底层socket.io带插座的客户._raw,得到了插座与管理.io,并设置另一个[伪]私有变量._reconnection,来true.
需要强调的是,整个"不重新审核"问题仅sails.io.js在节点中使用,而浏览器实现工作正常.
在测试了:
sails 0.11.0,
sails.io.js node SDK 1.1.12,
node 6.11.2
| 归档时间: |
|
| 查看次数: |
686 次 |
| 最近记录: |