2012年9月9日日曜日

websocket-server で Chrome からアクセス出来ない問題の解決策


Sec-WebSocket-Accept が無いために Chrome だとエラーがおこる。

(npm -i websocket-server したパス)/nodejs/node_modules/websocket-server/connection.js  を編集

console.log(connection);
var key = require('crypto')
            .createHash('sha1')
            .update(connection._req.headers['sec-websocket-key']
                    + '258EAFA5-E914-47DA-95CA-C5AB0DC85B11')
            .digest('base64');
res += '\r\nSec-WebSocket-Accept: ' + key;

377行目の直前に書く。

377  connection._socket.write(res + '\r\n\r\n', 'ascii');


1 件のコメント:

  1. 誤り。nodeのバージョンを 8.8 以降にすれば解決されている

    返信削除