小程序websocket,用nodejs配置好了wss,在预览模式下开调试模式可以连接websocket,但是关闭调试模式就无法连接,也没有任何报错,现在很迷茫,吃不下睡不着,求大神帮助一下,
以下是后台代码
const https = require('https');
const fs = require('fs');
var ws=require('ws');
var options = {
pfx: fs.readFileSync('我域名的证书.pfx'),
passphrase: '证书密码'
};
var server=https.createServer(options, (req, res) => {
res.writeHead(200);
res.end('hello world/n');
}).listen(8081);
var wss = new ws.Server( { server: server} );//把创建好的https服务器丢进websocket的创建函数里,ws会用这个服务器来创建wss服务
//同样,如果丢进去的是个http服务的话那么创建出来的还是无加密的ws服务
wss.on( 'connection', function ( wss) {
console.log("服务端连接成功");
wss.on( 'message', function ( msg ) {
console.log( msg );
wss.send(msg);
});
});
以下是前端js代码
var websocket = require('../../utils/websocket.js');
//获取应用实例
var app = getApp()
var message = '';
var text = '';
var user = {};
Page({
data: {
message : '',
text : text
},
bindChange: function(e) {
message = e.detail.value
},
//事件处理函数
add: function(e) {
websocket.send(user.nickName +" : "+ message);
},
onLoad: function () {
var that = this
//调用应用实例的方法获取全局数据
app.getUserInfo(function(userInfo){
user = userInfo;
websocket.connect(user, function(res) {
console.log(res)
text = res.data +"/n" + text;
that.setData({
text:text
});
})
})
}
})
以下是调试模式下的图片,连接正常,可以拿到callback
服务器后台连接打印
求大侠帮忙,小白束手无策了。
网友回复:
端口问题,端口设置443,连接去除端口就解决了