node.js - 可以将 Socket.IO 客户端设置为不阻止 NodeJS 退出吗?
问题描述
是否可以创建一个不会阻止 NodeJS 进程退出的 Socket.IO 客户端连接?默认情况下,如果连接打开,则 NodeJS 进程将保持运行,但在某些情况下,进程不等待连接关闭会很有用。
我会想象与 NodeJS 超时类似的用法;您可以unref()
在其中调用 Timer 以阻止它阻止进程退出。
解决方案
更新
从第 4 版开始,这已经成为可能!只需传递autoUnref
选项,然后打开的套接字将不会保持 NodeJS 进程运行。
代码示例:
const socket = io({
autoUnref: true
});
文档:
https://socket.io/docs/v4/migrating-from-3-x-to-4-0/#autounref-option
还要感谢@Gajus 在我忘记时添加了代码片段!只是为了保持一致而更新它。
旧答案
答案似乎是:没有。
所以我打开了几个 PR 来添加这个功能 :)
https://github.com/socketio/engine.io-client/pull/652
https://github.com/socketio/socket.io-client/pull/1442
如果他们被接受,我会用示例用法更新它。
推荐阅读
- amazon-web-services - 如何解决 Athena 中的 EOF?失败:ParseException 第 1:6 行在“cw”附近的“-”处缺少 EOF
- java - 从 HttpServlet 流式传输 gltf 到
元素 - android - Android Q - WifiNetworkSpecifier 的 Wifi 连接问题
- database - 在 Office x64 上查询 Access 数据库时出现 System.AccessViolationException
- python - 使用 Chrome v84 时出现“此版本 ChromeDriver 仅支持 Chrome 84 版”
- reactjs - 如何在 React Native 中更改样式
- xpath - Node = X 时选择同级节点的值
- php - 如何在 Laravel 中使用 Gloudemans\Shoppingcart 更新一个功能中的购物车
- exe - 使用 PowerShell 脚本创建并写入 .tempo 文件并传递变量,特定格式
- bash - 创建 bash 脚本时如何发送电子邮件