WebSockets

  • 版本网址缩略名: WebSockets
  • 版本标题: WebSockets
  • 版本 id: 238854
  • 创建于:
  • 创建者: karsa.si
  • 是否是当前版本?
  • 评论 one or more formatting changes

修订内容

WebSockets is a technology that makes it possible to open an interactive communication session between the user's browser and a server.

WebSocket 技术使得浏览器直接与服务器端的程序通过socket通讯成为可能。

Using a WebSocket connection, Web applications can perform real-time communication instead of having to poll for changes back and forth.

使用WebSocket链接,Web应用程序可以实时的推送或者获取信息。

Availability of WebSockets

目前,WebSockets还在完善之中,浏览器支持还未普及,甚至浏览器的不同版本支持情况也不同。(请使用最新的firefox浏览器,翻译这篇文章的时候是13.0)

ExamplesEdit section

 

            <script type="text/javascript">
var websocket;
var connected = false;
function doConnect(wsURI)
{
    if (connected) {
        debug_output_f("<span style='color:red;'>You're already connected!</span>");
    } else {
        websocket = new WebSocket(wsURI);
        websocket.onopen = function(evt) { onOpen(evt) };
        websocket.onclose = function(evt) { onClose(evt) };
        websocket.onmessage = function(evt) { onMessage(evt) };
        websocket.onerror = function(evt) { onError(evt) };
        debug_output_f("CONNECTION REQUESTED ....");
    }
}
function onOpen (evt) {
    connected = true;
    debug_output_f("CONNECTED");
}
function onClose (evt) {
    connected = false;
    websocket.close();
    debug_output_f("DISCONNECTED");
}
function onMessage (evt) {
    debug_output_f("<span style='color: blue;'>RESP: " + evt.data + "</span>");
}
function onError (evt) {
  debug_output_f("<span style='color:red;'>ERROR:</span> " + evt.data);
}
function doSend (msg)
{
    if (connected) {
        websocket.send(msg);
        debug_output_f("SENT: " + msg);
        /*
        { // binary
            size = msg.length;
            var ba = new Uint8Array(size);
            for (var i=0; i<size; i++) {
                ba[i] = msg.charCodeAt(i);
            }
            m = ba.buffer;
            websocket.send(m);
            debug_output_f("SENT: binary message");
        }
        */
    } else {
        debug_output_f("<span style='color: red;'>NOT CONNECTED: No message sent.</span>");
    }
}
function doClose () {
    if (connected) {
        debug_output_f("CLOSING ....");
        websocket.close();
        connected=false;
    } else {
        debug_output_f("<span style='color: red;'>NOT CONNECTED</span>");
    }
}
            </script>

修订版来源

<p>WebSockets is a technology that makes it possible to open an interactive communication session between the user's browser and a server.</p>
<p>WebSocket 技术使得浏览器直接与服务器端的程序通过socket通讯成为可能。</p>
<p>Using a WebSocket connection, Web applications can perform real-time communication instead of having to poll for changes back and forth.</p>
<p>使用WebSocket链接,Web应用程序可以实时的推送或者获取信息。</p>
<div id="section_2"> <h2 class="editable"><span>Availability of WebSockets</span></h2> <p>目前,WebSockets还在完善之中,浏览器支持还未普及,甚至浏览器的不同版本支持情况也不同。(请使用最新的firefox浏览器,翻译这篇文章的时候是13.0)</p> <div id="section_5"> <h3 class="editable"><span>Examples</span><a href="/en/WebSockets/Writing_WebSocket_client_applications?action=edit&amp;sectionId=4" title="Edit section"><span class="icon"><img alt="Edit section" class="sectionedit" src="/skins/common/icons/icon-trans.gif"></span></a></h3> <p> </p> </div>
</div>
<p>            &lt;script type="text/javascript"&gt;<br> var websocket;<br> var connected = false;<br> function doConnect(wsURI)<br> {<br>     if (connected) {<br>         debug_output_f("&lt;span style='color:red;'&gt;You're already connected!&lt;/span&gt;");<br>     } else {<br>         websocket = new WebSocket(wsURI);<br>         websocket.onopen = function(evt) { onOpen(evt) };<br>         websocket.onclose = function(evt) { onClose(evt) };<br>         websocket.onmessage = function(evt) { onMessage(evt) };<br>         websocket.onerror = function(evt) { onError(evt) };<br>         debug_output_f("CONNECTION REQUESTED ....");<br>     }<br> }<br> function onOpen (evt) {<br>     connected = true;<br>     debug_output_f("CONNECTED");<br> }<br> function onClose (evt) {<br>     connected = false;<br>     websocket.close();<br>     debug_output_f("DISCONNECTED");<br> }<br> function onMessage (evt) {<br>     debug_output_f("&lt;span style='color: blue;'&gt;RESP: " + evt.data + "&lt;/span&gt;");<br> }<br> function onError (evt) {<br>   debug_output_f("&lt;span style='color:red;'&gt;ERROR:&lt;/span&gt; " + evt.data);<br> }<br> function doSend (msg)<br> {<br>     if (connected) {<br>         websocket.send(msg);<br>         debug_output_f("SENT: " + msg);<br>         /*<br>         { // binary<br>             size = msg.length;<br>             var ba = new Uint8Array(size);<br>             for (var i=0; i&lt;size; i++) {<br>                 ba[i] = msg.charCodeAt(i);<br>             }<br>             m = ba.buffer;<br>             websocket.send(m);<br>             debug_output_f("SENT: binary message");<br>         }<br>         */<br>     } else {<br>         debug_output_f("&lt;span style='color: red;'&gt;NOT CONNECTED: No message sent.&lt;/span&gt;");<br>     }<br> }<br> function doClose () {<br>     if (connected) {<br>         debug_output_f("CLOSING ....");<br>         websocket.close();<br>         connected=false;<br>     } else {<br>         debug_output_f("&lt;span style='color: red;'&gt;NOT CONNECTED&lt;/span&gt;");<br>     }<br> }<br>             &lt;/script&gt;</p>
恢复到这个版本