- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認(rèn)證網(wǎng)站身份V標(biāo)記
- 域名注冊服務(wù)機(jī)構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機(jī)構(gòu):新網(wǎng)數(shù)碼
node的ws模塊可以很方便地創(chuàng)建一個單純的標(biāo)準(zhǔn)websocket服務(wù),但是對于創(chuàng)建wss服務(wù)并沒有提供一個獨立的方法,還是使用創(chuàng)建ws服務(wù)的方法,在傳入?yún)?shù)對象里加了個自定義的https服務(wù)。
示例
var https=require('https');
var ws=require('ws');
var fs=require('fs');
var keypath=process.cwd()+'/server.key';//我把秘鑰文件放在運行命令的目錄下測試
var certpath=process.cwd()+'/server.crt';//console.log(keypath);
//console.log(certpath);
var options = {
key: fs.readFileSync(keypath),
cert: fs.readFileSync(certpath),
passphrase:'1234'//如果秘鑰文件有密碼的話,用這個屬性設(shè)置密碼
};
var server=https.createServer(options, function (req, res) {//要是單純的https連接的話就會返回這個東西
res.writeHead(403);//403即可
res.end("This is a WebSockets server!\n");
}).listen(25550);
var wss = new ws.Server( { server: server } );//把創(chuàng)建好的https服務(wù)器丟進(jìn)websocket的創(chuàng)建函數(shù)里,ws會用這個服務(wù)器來創(chuàng)建wss服務(wù)
//同樣,如果丟進(jìn)去的是個http服務(wù)的話那么創(chuàng)建出來的還是無加密的ws服務(wù)
wss.on( 'connection', function ( wsConnect ) {
wsConnect.on( 'message', function ( message ) {
console.log( message );
});
});
wss創(chuàng)建出來,其余的操作和普通的ws服務(wù)都是完全一樣的
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP