快乐.js websocket 协议通信是否需要使用 happy.js 客户端连接到 websocket?



我正在使用happy构建一个API。我需要 WebSocket 功能,似乎 Nes 是最受欢迎的快乐使用。这很好,因为 Nes 使事情变得非常简单,例如,测试路线可能看起来像这样......

// Register Nes.
await server.register(Nes);
...
...
// WebSocket route.
server.route({
method: 'GET',
path: '/h',
config: {
id: 'hello',
handler: (request, h) => {
return 'world!';
}
}
});

这很好,但是,文档显示,使用 WebSockets 向此路由发出请求的唯一方法是在客户端上使用 Nes...

const Nes = require('nes');
var client = new Nes.Client('ws://localhost');
const start = async () => {
await client.connect();
const payload = await client.request('hello');  // Can also request '/h'
// payload -> 'world!'
};
start();

我的问题是客户端不使用JavaScript。Nes 库根本不存在。在这种情况下,我是否仍可以使用 WebSocket 向此路由发出请求?没有这样的例子,所以我不明白我怎么能这样做。如果不可能,那么我想知道我的选择是什么,因为即使 Socket.io 我正在使用的框架(Flutter(中也不存在。

由于 WebSocket 只是一个协议,任何用于 Flutter 的 WebSocket 客户端库都应该可以工作。WebSocket 不直接绑定到特定语言。因此,您必须为您的框架找到并实现一个 WebSocket 库。我浏览了他们的网站,发现了一些潜在的候选人,尽管我确信这不是一个详尽的列表。

以下是来自 Flutter 的一些潜在 Web 套接字包:

  • Socket.io
  • 达特·

有关集成软件包的信息,请在此处查看此链接。

至于开发 happy 的 Web 套接字,您不必使用 NES。使用库(如由同一发布者为客户端和服务器开发的库 Socket.io(可能最有意义。虽然使用 Socket.io 快乐超出了这个答案的范围,但你可能会发现这篇中等文章很有帮助。

最新更新