顺晟科技
2021-06-16 10:52:13
289
小程序需要WebSocket通信。为了便于调试,创建了一个用于测试的节点环境。
一、客户
webSocket客户端的使用非常简单,
var ws=new WebSocket(' ws ://127 . 0 . 0 . 1:3000 ');
ws.onopen=function() {
console . log(' open ');
}
ws.onmessage=function(data) {
console.log(数据);
}
实例化WebSocket后,为实例绑定事件就足够了。当然还有其他事件,这里就不一一列举了,直接打开留言就好。
看下面节点的代码。
第二,socket.io
之前听过socket.io,但是一直没机会用,就先想到了他,在npm install下。
添加后端代码,删除代码不妨碍理解:
const io=require(' socket . io ')();
io.on('连接',函数(客户端){
console . log(' connected ');
});
io . listen(3000);
在powershell下,使用node启动服务。同样,使用http-server工具启动服务,打开http://127 . 0 . 0 . 1:8080/ws . html。
发现控制台下报告的错误,提示连接在收到握手响应之前关闭。
《基于node实现websocket通信》
好吧,在这里卡了很久,后来发现原因是websocket版本问题。我们来看看控制台网络。
《基于node实现websocket通信》
发现websocket对应13版,而socket.io支持4版,所以有问题。websocket版本可以详细查看:websocket版本。
有问题,怎么处理?继续下一个ws库。
三.《华盛顿明星报》
Ws是一个节点的webSocket库,自述文件中声明支持websocket协议版本13。
直接编码,开始服务,
const WebSocket=require(' ws ');
const wss=new WebSocket。服务器({ port : 3000 });
wss.on('connection ',函数(ws) {
console . log(' connected ');
ws.on('message ',函数(message) {
console.log('received: %s ',消息);
});
ws.send('某物');
});
刷新ws.html,它是打印在控制台上的,所以现在可以使用。
四.摘要
说完后发现微信下没说话?不,微信下也一样。微信的websocket也是13版,问题和处理方法都是一样的。之所以不用微信,是看普通pc下的效果,如果发现一致,就直接拿来举例。
11
2022-12
08
1972-02
17
2022-03
18
2021-11
19
2021-06
16
2021-06