WebSocket不工作的原始javascript GraphQL订阅

WebSocket不工作的原始javascript GraphQL订阅,websocket,graphql,graphql-js,graphql-subscriptions,Websocket,Graphql,Graphql Js,Graphql Subscriptions,我试图创建一段原始代码来侦听graphQL订阅,但由于某些原因,我无法使其工作 我试图模拟从GraphQL控制台发送的原始请求,您可以在这里看到 这似乎很简单。因此,我编写了以下javascript代码: const WebSocket = require("ws"); const connection = new WebSocket("ws://localhost:4000/graphql") connection.onopen = () => { console.log("c

我试图创建一段原始代码来侦听graphQL订阅,但由于某些原因,我无法使其工作

我试图模拟从GraphQL控制台发送的原始请求,您可以在这里看到

这似乎很简单。因此,我编写了以下javascript代码:

const WebSocket = require("ws");

const connection = new WebSocket("ws://localhost:4000/graphql")

connection.onopen = () => {
  console.log("connection open")
  let init = JSON.stringify({type:"connection_init",payload:{Authorization:"Bearer eyJhbG.....HIDDEN....dDgw"}})
  let listen = JSON.stringify({"id":"1","type":"start","payload":{"variables":{},"extensions":{},"operationName":null,"query":"subscription {\n  followJob(idJob: \"ck0pa2r8r8pit0b17f3k6s729\") {\n    progress\n  }\n}\n"}})
  connection.send(init)
  connection.send(listen)
}

connection.onmessage = e => {
  console.log("data coming")
  console.log(e.data)
}

connection.onerror = e =>{
  console.log(e)
}


(function wait () {
  setTimeout(wait, 1000000);
})();
GraphQL服务器确实接收到请求,并且具有与从控制台发出的请求完全相同的消息数据,但由于某些原因,它在此之后不会处理查询,不会在日志中抛出任何错误或消息

你知道我可能遗漏了什么吗


非常感谢您的帮助。

只需像这样指定websocket协议

const connection = new WebSocket("ws://localhost:4000/graphql","graphql-ws")

只需要像这样指定websocket协议

const connection = new WebSocket("ws://localhost:4000/graphql","graphql-ws")