node.js - 在高速公路 onclose 事件后重新连接

标签 node.js autobahn

我正在测试一些高速公路代码,其中包括 onopen 事件和 onclose 事件。我注意到更新会停止,但我的代码将继续运行,所以我怀疑连接丢失了。我更新了 onclose 事件以使其存在:

connection.onclose = (reason, details) => {
  console.log("REASON", reason);
  console.log("DETAILS", details);
  reject(reason);
  process.exit();
};

当连接丢失时,我现在得到:

REASON lost
DETAILS { reason: null,
  message: null,
  retry_delay: 1.3305311206405022,
  retry_count: 1,
  will_retry: true }

我是否可以响应此事件并重新建立连接,或者我的“process.exit()”行是否会自动阻止这种情况发生?

最佳答案

Autobahn|JS 会自动重新连接(这是可配置的 - 请参阅 http://autobahn.ws/js/reference.html#connection-options )。

原则上,您还可以从关闭处理程序中再次调用连接的“打开”方法,例如如果您想要自定义重新连接逻辑。

“onclose”处理程序中的关闭代码会关闭整个进程,因此不会尝试自动重新连接。

关于node.js - 在高速公路 onclose 事件后重新连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39337054/

相关文章:

node.js - 如何处理expressjs中间件请求。 dropzone 发出的 POST 请求仍待处理

node.js - 如何在 Travis-CI 中运行 Go 服务器?

node.js - 如何停止express.js和node.js中的隐式响应头

python - 为什么这个python autobahn代码需要使用 'yield'关键字?

python - 使用 tac 文件与 twistd 一起运行时出现高速公路 websocket 问题

node.js - 推送到 Heroku 时出错 : Cannot find module 'node-linux-x64/package.json'

node.js - 使用 Express 将文件读取到 Node 中的字节

python - 高速公路从外部应用程序发送用户特定和广播消息

javascript - JavaScript websocket可以从服务器获取返回值吗?

python - 不要向客户端发送异常