NodeJs连接纯websocket
const http = require('http'); const crypto = require('crypto'); const url = require('url'); var serverUrl = url.parse('ws://localhost:6443'); var protocolVersion = 13; var key = new Buffer(protocolVersion + '-' + Date.now()).toString('base64'); var shasum = crypto.createHash('sha1'); shasum.update(key + '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'); var expectedServerKey = shasum.digest('base64'); var headerHost = serverUrl.host; var requestOptions = { port : serverUrl.port, host : serverUrl.hostname, headers: { 'Connection' : 'Upgrade', 'Upgrade' : 'websocket', 'Host' : headerHost, 'Sec-WebSocket-Version' : protocolVersion, 'Sec-WebSocket-Key' : key, 'Sec-WebSocket-Extensions': '', // permessage-deflate; client_max_window_bits 'path' : '/' } }; var req = http.request(requestOptions); req.once('upgrade', function (res, socket, upgradeHead) { var headers = res.headers; console.log('upgrade', headers); socket.setTimeout(0); socket.setNoDelay(true); socket.on('data', function (data) { console.log('..............', data.toString('utf8')); }); }); req.end();