小程序websocket问题
发布于 5 年前 作者 xiaochao 6707 次浏览 来自 问答

小程序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

服务器后台连接打印

求大侠帮忙,小白束手无策了。

2 回复

你好。 有一些关于websocket的问题想咨询你一下,你看方便加下qq 或者 微信么? 谢谢~~ qq376497921

端口问题,端口设置443,连接去除端口就解决了

回到顶部