如何使用另一种编程语言连接到 apollo graphql-websocket?

Posted

技术标签:

【中文标题】如何使用另一种编程语言连接到 apollo graphql-websocket?【英文标题】:How can I connect to the apollo graphql-websocket in another programming language? 【发布时间】:2017-05-27 12:56:25 【问题描述】:

目前我正在研究 Apollo 的 GraphQL Server,以替换我们当前的 Java 实现。由于我们可能还想使用订阅,因此我尝试启动并运行一些简单的服务器-客户端概念证明。我使用 GitHunt 示例让订阅部分正常工作。

因为我并不真正需要或想要 UI。现在,我想要一个简单的客户端来接收来自订阅界面的通知。据我所知,这是 Websocket。知道了这一点,我创建了一个 Python 脚本,它打开一个websocket 到指定的主机和端口(ws://localhost:8090)。这会产生bad handshake error。

我可以通过什么方式前进?除了 apollo-client 之外,是否有人已经创建了一个客户端?如果是这样;你如何创建 websocket?

【问题讨论】:

【参考方案1】:

我可能会尝试使用无头浏览器,例如更苗条的 js,它支持 websockets。 https://github.com/laurentj/slimerjs。

我想知道 python 接口是否无法处理更纤细的 js。我不是 websocket 专家,所以只有我的 2 美分 :)

【讨论】:

这里的“烦人”部分是我可以使用现有的 Apollostack Subscription Transport WS 包使其在无头浏览器中工作。那仍然不允许我以任何其他方式使用它。但是 - 我会看看 SlimerJS,看看它是否可以快速证明我的概念证明。谢谢! 我使用 wireshark 做了一些进一步的分析,似乎订阅 GraphQL 请求触发了一个或两个 WebSocket,这些 WebSocket 使用生成的服务器-客户端密钥进行了握手。经过几个小时试图让它工作,我放弃了:)谢谢你的提问!

以上是关于如何使用另一种编程语言连接到 apollo graphql-websocket?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React Native 中正确地将 Apollo 客户端连接到 Redux

使用替代 GraphQL 客户端连接到 Apollo Server

react-apollo 没有连接到我的 graphql 本地服务器

创建 perl 脚本以远程连接到另一台服务器并读取文件?

设置 Redis cookie 时,Apollo 客户端未连接到服务器

Apollo 客户端无法连接到 GraphQL 服务器(http 调用执行失败)