nodejs中,如何使socket.io同时启用http和https协议?

nodejs中,如何使socket.io同时启用http和https协议?

Socket.io是NodeJS中常用的websocket通信服务端组件。

通常可以绑定一个http或https服务。代码如:

const server = require('http').createServer();

const io = require('socket.io')(server);

但此种方式,有个很大的弊端:

只绑定了http或https中的一种,前端访问不支持双协议,如果绑定的是http,则只能http访问,如果绑定的是https,只能https访问。

支持双协议访问,才是理想状态。

实现方式是:使用socket.io的attach方法,代码如下:

var io_server = require('socket.io');

var io = new io_server();

io.attach(admin_http_server);

io.attach(admin_https_server);

admin_http_server、admin_https_server是用require("http").createServer(admin_app).listen方式建立的http和https服务器;admin_app是require('express')();

以上是nodejs代码,如果想对js代码加密,还可以使用JShaman平台,可以将js代码进行混淆加密。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值