1.從騰訊雲申請SSL證書,下載解壓,獲得以下文件:node
2.nodejs代碼:服務器
1 // wss.js 2 3 const fs = require('fs'); 4 5 // 一些配置信息 6 const cfg = { 7 port: 8888, 8 ssl_key: 'ssl.key', //這裏填Apache中的 3_[域名].key 文件 9 ssl_cert: 'ssl.crt', //這裏填Apache中的 2_[域名].crt 文件 10 ssl_ca:'root_bundle.crt' //這裏填Apache中的 1_root_bundle.crt文件 11 }; 12 13 const httpServ = require('https'); 14 const WebSocketServer = require('ws').Server; // 引用Server類 15 16 // 建立request請求監聽器 17 const processRequest = (req, res) => { 18 res.writeHead(200); 19 res.end('厲害了,個人WebSockets!\n'); 20 }; 21 22 const app = httpServ.createServer({ 23 // 向server傳遞key和cert參數 24 key: fs.readFileSync(cfg.ssl_key), 25 cert: fs.readFileSync(cfg.ssl_cert), 26 ca: fs.readFileSync(cfg.ssl_ca) 27 }, processRequest).listen(cfg.port); 28 29 // 實例化WebSocket服務器 30 const wss = new WebSocketServer({ 31 server: app 32 }); 33 // 若是有WebSocket請求接入,wss對象能夠響應connection事件來處理 34 wss.on('connection', (wsConnect) => { 35 console.log('服務器已啓動,監聽中~'); 36 wsConnect.on('message', (message) => { 37 console.log(`服務器接收到:${message}`); 38 wsConnect.send(`服務器回覆: ${message}`, (err) => { 39 if (err) { 40 console.log(`服務器錯誤:${err}`); 41 } 42 }); 43 }); 44 });
參考:app
http://www.javashuo.com/article/p-rwjyxuyg-mv.htmlui
https://blog.csdn.net/chaoshengze/article/details/78406039?locationNum=5&fps=1spa