Dan*_*odd 5 node.js apollo graphql
对于 Apollo 订阅的 keepAlive 有一些麻烦。每当我将时间设置为秒或更长时间时,监听订阅就会出错。
{
"error": "Could not connect to websocket endpoint ws://website.test:8000/graphql. Please check if the endpoint url is correct."
}
Run Code Online (Sandbox Code Playgroud)
这是 ApolloServer 设置
const apollo = new ApolloServer({
introspection: true,
playground: true,
typeDefs: schema,
subscriptions: {
keepAlive: 40000,
},
resolvers,
context: ........
}
Run Code Online (Sandbox Code Playgroud)
在我的本地环境中,当我没有设置 keepAlive 时,它将无限期地保持打开状态。如果我将它设置为 10000 效果很好。保持活动设置为 40000 我收到错误并且连接关闭
更新我们刚刚注意到的一件事是这个问题发生在操场上,而不是我们的网络应用程序上。也许只是一个游乐场?
如果没有,如果这些有帮助,我建议你在 Apollo 存储库上打开一个问题:
几天前我也遇到了同样的问题。我还通过添加路径选项解决了这个问题。还声明了 Express 中间件内部的路径 - https://www.reddit.com/r/graphql/comments/fpb3yt
WebSocket KeepAlive:WebSockets ping/pong,为什么不是 TCP keepalive?
如何处理 WebSocket 连接丢失:使用 websockets 处理连接丢失
| 归档时间: |
|
| 查看次数: |
513 次 |
| 最近记录: |