Skip to content

遇到的问题

ruandao edited this page Jan 18, 2017 · 4 revisions

###采用的 socket.io 做客户端,提交给服务端的请求是poll的
解决方法

var onOpen = function() {
                console.log("Socket opened.");
                socket.send("Hi, Server!");
            },
            onClose = function() {
                console.log("Socket closed.");
            },
            onMessage = function(data) {
                console.log("We get signal:");
                console.log(data);
            },
            onError = function() {
                console.log("We got an error.");
            },
            socket = new WebSocket("ws://127.0.0.1:8080/");
        socket.onopen = onOpen;
        socket.onclose = onClose;
        socket.onerror = onError;
        socket.onmessage = onMessage;

###浏览器报错:

WebSocket connection to 'ws://127.0.0.1:8080/websocket' 
failed: Error during WebSocket handshake: Incorrect 'Sec-WebSocket-Accept' header value

解决办法:

base64(sha1(Sec-Websocket-Key + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11")) 的时候,用sha1.Sum方法可以生成20位的hash值
如果先sha1.New 然后再sum的话,得出的hash值长度偏长