Hapi.js Websocket协议通信是否需要使用hapi.js使客户端连接到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只是protocol,所以任何用于Flutter的WebSocket客户端库都应该工作。 WebSocket不直接与特定语言绑定。因此,您必须为框架找到并实现WebSocket库。我浏览了他们的网站,发现了一些潜在的候选人,尽管我确定这不是一个详尽的清单。
以下是Flutter提供的一些潜在的Web套接字软件包:
- Socket.io
- Dart HTTP
有关集成软件包的信息,请在此处签出this link。
关于使用Hapi开发Web套接字,您没有have使用NES。最好使用由同一发布者为客户端和服务器开发的库,例如Socket.io。虽然将Socket.io与Hapi一起使用超出了此答案的范围,但您可能会发现this medium article有用。
Hapi.js Websocket协议通信是否需要使用hapi.js使客户端连接到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只是protocol,所以任何用于Flutter的WebSocket客户端库都应该工作。 WebSocket不直接与特定语言绑定。因此,您必须为框架找到并实现WebSocket库。我浏览了他们的网站,发现了一些潜在的候选人,尽管我确定这不是一个详尽的清单。
以下是Flutter提供的一些潜在的Web套接字软件包:
- Socket.io
- Dart HTTP
有关集成软件包的信息,请在此处签出this link。
关于使用Hapi开发Web套接字,您没有have使用NES。最好使用由同一发布者为客户端和服务器开发的库,例如Socket.io。虽然将Socket.io与Hapi一起使用超出了此答案的范围,但您可能会发现this medium article有用。