收藏
回答

小程序websocket问题

问题模块
审核

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


服务器后台连接打印


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


最后一次编辑于  2017-09-22
回答关注问题邀请回答
收藏

2 个回答

  • 指导员-小姜
    指导员-小姜
    2017-10-24

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

    2017-10-24
    赞同
    回复
  • 叶仁宇💴💴💴
    叶仁宇💴💴💴
    2017-09-22

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

    2017-09-22
    赞同
    回复