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:
Для получения информации об интеграции пакета, перейдите по этой ссылке здесь.