代码之家  ›  专栏  ›  技术社区  ›  buydadip

Websockets和Hapi.js

  •  0
  • buydadip  · 技术社区  · 6 年前

    我正在使用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是通过使用客户端上的网元以及。。。

    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();
    

    1 回复  |  直到 5 年前
        1
  •  2
  •   technogeek1995    5 年前

    因为WebSocket只是一个 protocol ,任何用于flatter的WebSocket客户端库都应该可以工作。websocket不直接绑定到特定语言。因此,您必须为您的框架找到并实现一个WebSocket库。我浏览了他们的网站,发现了一些潜在的候选人,虽然我相信这不是一个详尽的名单。

    有关集成包的信息,请查看 this link 在这里。

    至于用Hapi开发web套接字,您不需要 使用 NES . 使用图书馆可能是最有意义的,比如 Socket.io 由同一发布者为客户机和服务器开发的。虽然将Socket.io与Hapi一起使用超出了此答案的范围,但您可能会发现 this medium article

    推荐文章