zoukankan      html  css  js  c++  java
  • nodejs服务端使用wss

    想把以前的一个demo放到微信小游戏上,发现https证书过期了。然后忘了当初怎么弄的了。

    现在又弄一遍记下来,免得以后过期了又忘了。。。 

    一 首先服务器要有https证书

    参考https://www.cnblogs.com/gamedaybyday/p/10711630.html进行配置

    二 下载服务器的证书

    根据上篇文章,下载证书。虽然我的服务器是iis的,下载时选择nginx。

     解压得到这两个文件,将文件放到服务端项目下

    三 nodejs代码

    需要定义一个options,在options里加载证书,然后在调用ws.createServer时传入options

    var fs = require("fs");
    var ws = require("nodejs-websocket");
    var protobufjs = require("protobufjs");
    var root = protobufjs.loadSync("./game.proto");
    
    var options = {
        secure:true,
        key: fs.readFileSync(process.cwd()+'/6272043_www.xxxxx.xxx.key'),
        cert: fs.readFileSync(process.cwd()+'/6272043_www.xxxxxx.xxx.pem')
    };
    
    console.log("开始创建websocket");
    var server = ws.createServer(options, function (conn) {
        console.log("连接成功");
        conn.on("binary", function (inStream) {
            var data;
            inStream.on("readable", function () {
                data = inStream.read();
            })
            inStream.on("end", function () {
     
            })
        })
        conn.on("close", function (code, reason) {
            console.log("关闭连接")
        });
        conn.on("error", function (code, reason) {
            console.log("异常关闭")
        });
    }).listen(3005);
    

      

    在cocos中测试是否可以以wss形式链接

    App.Socket.connect("wss://www.xxx.xxx:3005"); 
    

    链接成功

  • 相关阅读:
    阿里云配置mysql远程连接
    [转载]Lodop用户应对谷歌浏览器停用Plugin技术的处理办法
    利用lodop打印控件轻松实现批量打印
    ThinkPHP 中M方法和D方法的具体区别
    Codeforces
    POJ
    HDU
    POJ
    POJ
    HDU
  • 原文地址:https://www.cnblogs.com/gamedaybyday/p/15256124.html
Copyright © 2011-2022 走看看