在带有 WSL 2 的 Windows 10 上运行,我有一个 Node.js 应用程序 (App1),我正在尝试使用另一个 Node.js 应用程序 (App2) 加载测试。App2 模拟 App1 所依赖的 HTTP 服务,即 AWS 和 Salesforce API。Salesforce 部分使用 CometD 协议将消息推送到 App1。
App2 在 WSL 2 中的 Ubuntu 上运行。App1 在 Windows 10 上运行。两者都在同一台物理机上。
当我通过 CometD(HTTP 长轮询)将数千条消息推送到 App1 时,App1 开始阻塞并收到以下错误:
error: {
"errno": -4077,
"code": "ECONNRESET",
"syscall": "read"
}
我杀死 App1 并重新启动它,但它继续收到相同的错误。无论我是通过 VSCode 运行 App1 还是仅从命令行使用 node 都没有关系。
奇怪的是,我可以使用 WSL 2 上的 bash 中的 CURL 向 App2 发出请求,并且效果很好。我能让 App1 再次与 App2 对话的唯一方法是重新启动计算机。
为什么会发生这种情况,有没有办法可以修复它而无需重新启动 Windows?