• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Error

            C++博客 首頁 新隨筆 聯系 聚合 管理
              217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

            WebSocket is an underlying network protocol that enables you to build other standard
            protocols on top of it.

            The WebSocket Protocol enables full duplex communication between a client and
            a remote server over the Web, and supports transmission of binary data and text strings.
            The protocol consists of an opening handshake followed by basic message framing, and is
            layered over TCP.


            WebSocket programming follows an asynchronous programming model, which
            means that as long as a WebSocket connection is open, your application simply listens
            for events. Your client does not need to actively poll the server for more information. To
            start listening for the events, you simply add callback functions to the WebSocket object.
            Alternatively, you can use the addEventListener() DOM method to add event listeners
            to your WebSocket objects.
            A WebSocket object dispatches four different events:
            · Open
            · Message
            · Error
            · Close
            As with all web APIs, you can listen for these events using on<eventname> handler
            properties, as well as using the addEventListener(); method.

            ws.onopen
            ws.onmessage
            ws.onerror
            ws.onclose

            e.data instanceof Blob
            ws.binaryType = "blob"

            WebSocket objects have two methods: send() and close()


            Listing 2-12. Waiting for the Open Event Before Sending a Message
            // Wait until the open event before calling send().
            var ws = new WebSocket("ws://echo.websocket.org")
            ws.onopen = function(e) {
            ws.send("Initial data");
            }

            Listing 2-13. Checking the readyState Property for an Open WebSocket
            // Handle outgoing data. Send on a WebSocket if that socket is open.
            function myEventHandler(data) {
            if (ws.readyState === WebSocket.OPEN) {
            // The socket is open, so it is ok to send the data.
            ws.send(data);
            } else {
            // Do something else in this case.
            //Possibly ignore the data or enqueue it.
            }
            }


            // Send a Blob
            var blob = new Blob("blob contents");
            ws.send(blob);
            // Send an ArrayBuffer
            var a = new Uint8Array([8,6,7,5,3,0,9]);
            ws.send(a.buffer);


            Listing 2-15. Calling the close() Method
            // Close the WebSocket connection
            ws.close();
            You can optionally pass two arguments to the close() method: code (a numerical
            status code) and reason (a text string). Passing these arguments transmits information
            to the server about why the client closed the connection. We will discuss the status
            codes and reasons in greater detail in Chapter 3, when we cover the WebSocket closing
            handshake. Listing 2-16 shows an example of calling the close() method with an
            argument.
            Listing 2-16. Calling the close() Method with a Reason
            // Close the WebSocket connection because the session has ended successfully
            ws.close(1000, "Closing normally");
            Listing 2-16 uses code 1000, which means, as it states in the code, that the
            connection is closing normally.


            WebSocket Object Attributes
            There are several WebSocket Object attributes you can use to provide more information
            about the WebSocket object: readyState, bufferedAmount, and protocol.

            Table 2-1. readyState Attributes, Values, and Status Descriptions
            Attribute Constant     Value     Status
            WebSocket.CONNECTING   0   The connection is in progress but has not been established.
            WebSocket.OPEN   1   The connection has been established. Messages can flow between the client and server.
            WebSocket.CLOSING   2   The connection is going through the closing handshake.
            WebSocket.CLOSED   3   The connection has been closed or could not be opened.

            WebSocket Object Attribute: protocol
            The protocol attribute is the empty string before the
            opening handshake completes and remains an empty string if the server does not choose
            one of the protocols offered by the client.

             

            posted on 2016-02-22 17:02 Enic 閱讀(267) 評論(0)  編輯 收藏 引用 所屬分類: websocket
            久久99国产精品久久| AV无码久久久久不卡网站下载| 久久线看观看精品香蕉国产| 亚洲综合精品香蕉久久网97| 国产视频久久| 中文无码久久精品| 久久精品女人天堂AV麻| 精品国产乱码久久久久久人妻| 久久影院综合精品| 香蕉aa三级久久毛片| 久久国产精品久久国产精品| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲国产成人久久综合碰碰动漫3d | 国产午夜精品久久久久免费视| 精品一区二区久久久久久久网站| 亚洲精品国产自在久久| 国产精品天天影视久久综合网| 午夜视频久久久久一区| 日韩亚洲欧美久久久www综合网| 中文字幕无码免费久久| 亚洲v国产v天堂a无码久久| 久久国产精品-国产精品| 蜜臀久久99精品久久久久久小说| 无码任你躁久久久久久久| 香港aa三级久久三级| 777米奇久久最新地址| 久久精品无码午夜福利理论片 | 国产一区二区精品久久凹凸| 久久精品亚洲一区二区三区浴池| 四虎国产精品免费久久| 国产视频久久| 国产精品久久久久乳精品爆| 99久久精品九九亚洲精品| 久久亚洲欧美日本精品| 97久久国产亚洲精品超碰热| 久久久亚洲欧洲日产国码aⅴ| 久久人人爽人人人人爽AV | 色综合合久久天天综合绕视看| 久久久久成人精品无码中文字幕| 亚洲AV无码久久精品狠狠爱浪潮| 久久久亚洲欧洲日产国码是AV|