2

我想保持 websocket 连接处于活动状态。
我使用 RFC 6455 协议作为 websocket 协议。
我通过 Firefox 13 和 Chrome 20 对此进行了测试。

===WEB SOCKET 客户端===

GET / HTTP/1.1
Host: #.#.#.#:#
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ko-kr,ko;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive, Upgrade
Sec-WebSocket-Version: 13
Origin: http://its.secret.com
Sec-WebSocket-Key: TbJqTlFtGocvRvk/9stMhg==
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket

===网络套接字服务器===

HTTP/1.1 101 WebSocket Protocol Handshake
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: outIACgIETcILj0NjzA0MhwP7uc=

这个 websocket 协议中的换行符是 CR/LF。

接下来是websocket客户端源码部分。

var host = "ws://#.#.#.#:#";
try {
    Rsocket = new WebSocket(host);
    Rsocket.onopen = function(msg) {
        alert("Welcome - status " + this.readyState);
    };
    Rsocket.onmessage = function(msg) {...
    };
    Rsocket.onclose = function(msg) {
        alert("Disconnected - status " + this.readyState);
    };
}
catch (ex) {
    log(ex);
}​

首先,成功警报出现在 Web 浏览器中。
按下 OK 后,会出现断开连接警报。

尽管在出现成功警报时按 OK,但我希望不出现断开连接警报。

4

0 回答 0