Websockets и путаница Hapi.js

Я строю API, используя Hapi. Мне нужна функциональность 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 для запроса этого маршрута? Там нет примеров этого, поэтому я не понимаю, как я мог это сделать. Если это невозможно, то я хотел бы знать, какие у меня есть варианты, так как даже Socket.io не существует в рамках, которые я использую (Flutter).

1 ответ

Решение

Поскольку WebSockets - это просто протокол, любая клиентская библиотека WebSocket для флаттера должна работать. WebSockets не привязаны напрямую к определенному языку. Таким образом, вы должны найти и реализовать библиотеку WebSocket для вашей платформы. Я просмотрел их веб-сайт и нашел несколько потенциальных кандидатов, хотя я уверен, что это не исчерпывающий список.

Вот некоторые потенциальные пакеты веб-сокетов от Flutter:

Для получения информации об интеграции пакета, перейдите по этой ссылке здесь.

Другие вопросы по тегам