18910140161

微信小程序基于node实现websocket通信

顺晟科技

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下的效果,如果发现一致,就直接拿来举例。

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航