[英]Does the Hapi.js websocket protocol communication need to use hapi.js for the client to connect to the websocket?
我正在使用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。
因為WebSockets只是一個協議 ,所以任何用於Flutter的WebSocket客戶端庫都應該可以工作。 WebSocket不直接與特定語言綁定。 因此,您必須為框架找到並實現WebSocket庫。 我瀏覽了他們的網站,發現了一些潛在的候選人,盡管我確信這不是一個詳盡的清單。
以下是Flutter提供的一些潛在的Web套接字軟件包:
有關集成軟件包的信息,請在此處查看此鏈接 。
至於發展與哈啤網絡插座,你不必使用NES 。 使用由同一發布者為客戶端和服務器開發的庫(如Socket.io)可能是最有意義的。 雖然將Socket.io與Hapi一起使用超出了此答案的范圍,但您可能會發現這篇中篇文章很有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.