无法连接到 WebSocket 端点 [apollo-server-express with GooglePubSub]

问题描述

我正在运行 Meteor/React/Apollo/Graphql 堆栈,我正在尝试使订阅正常工作,我已经浏览了 Apollo 文档并试图让它与这个库一起工作,但我得到了一个我的Graphiql控制台中的错误如下:

{
  "error": "Could not connect to websocket endpoint ws://XXX.XXX.XX.XX:3000/subscriptions. Please check if the endpoint url is correct."
}

我的服务器代码如下:

import { ApolloServer,gql } from "apollo-server-express"
import { makeExecutableSchema } from "graphql-tools"
import { WebApp } from "meteor/webapp"
import { getUser } from "meteor/apollo"
import merge from "lodash/merge"

import SchemaA from "../../api/a/SchemaA.graphql"
import ResolverA from "../../api/a/resolvers"
import SchemaB from "../../api/b/SchemaB.graphql"
import ResolverB from "../../api/b/resolvers"
import SchemaC from "../../api/c/SchemaC.graphql"
import ResolverC from "../../api/c/resolvers"

import { GooglePubSub } from "@axelspringer/graphql-google-pubsub"

const pubsub = new GooglePubSub()

const typeDefs = [SchemaA,SchemaB,SchemaC]
const resolvers = merge(ResolverA,ResolverB,ResolverC)

const schema = makeExecutableSchema({ typeDefs,resolvers })

const server = new ApolloServer({
    schema,context: async ({ req }) => ({
        user: await getUser(req.headers.authorization),pubsub
    }),subscriptions : {
        path: '/subscriptions'
    }
})

server.applyMiddleware({
    app: WebApp.connectHandlers,path: "/graphql",})

WebApp.connectHandlers.use("/graphql",(req,res) => {
    if (req.method === "GET") {
        res.end()
    }
})

有人对如何解决这个问题有任何建议吗?显然有一些配置/设置我做得不正确。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)