Websockets和Hapi.js的混乱

时间:2018-10-14 05:42:31

标签: javascript node.js websocket hapijs nes

我正在使用Hapi构建API。我需要WebSocket功能,看来Nes是与Hapi一起使用的最流行的工具。这很好,因为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库根本不存在。在那种情况下,我仍然可以使用WebSockets对此路由进行请求吗?没有任何示例,因此我不知道该怎么做。如果不可能,那么我想知道我的选择是什么,因为在我正在使用的框架(Flutter)中甚至不存在Socket.io。

1 个答案:

答案 0 :(得分:0)

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

以下是Flutter提供的一些潜在的Web套接字软件包:

有关集成软件包的信息,请在此处查看this link