栏目:Java Web(<--点此查看更多)Java Web 开发相关技术及框架,JSP|Servlet|Javabean|SSH|EJB|HTML|CSS|JavaScript等
  • WebSocket JavaScript 接口的定义

  • Wed Dec 24 21:03:19 CST 2014 编程者 我要收藏(...) 评论 ...
  • Web 开发人员的 WebSocket JavaScript 客户端接口是非常简单的
  • enum BinaryType { "blob", "arraybuffer" };
    [Constructor(DOMString url, optional (DOMString or DOMString[]) protocols), Exposed=Window,Worker]
    interface WebSocket : EventTarget {
      readonly attribute DOMString url;

      // ready state
      const unsigned short CONNECTING = 0;
      const unsigned short OPEN = 1;
      const unsigned short CLOSING = 2;
      const unsigned short CLOSED = 3;
      readonly attribute unsigned short readyState;
      readonly attribute unsigned long bufferedAmount;

      // networking
               attribute EventHandler onopen;
               attribute EventHandler onerror;
               attribute EventHandler onclose;
      readonly attribute DOMString extensions;
      readonly attribute DOMString protocol;
      void close([Clamp] optional unsigned short code, optional DOMString reason);

      // messaging
               attribute EventHandler onmessage;
               attribute BinaryType binaryType;
      void send(DOMString data);
      void send(Blob data);
      void send(ArrayBuffer data);
      void send(ArrayBufferView data);
    };

    其中 URL 属性代表 WebSocket 服务器的网络地址,协议通常是”ws”,send 方法就是发送数据到服务器端,close 方法就是关闭连接。除了这些方法,还有一些很重要的事件:onopen,onmessage,onerror 以及 onclose。
    下面是一段简单的 JavaScript 代码展示了怎样建立 WebSocket 连接和获取数据:
    var wsServer = 'ws://localhost:8888/Demo';
    var websocket = new WebSocket(wsServer);
    websocket.onopen = function (evt) { onOpen(evt) };
    websocket.onclose = function (evt) { onClose(evt) };
    websocket.onmessage = function (evt) { onMessage(evt) };
    websocket.onerror = function (evt) { onError(evt) };
    function onOpen(evt) {
    console.log("Connected to WebSocket server.");
    }
    function onClose(evt) {
    console.log("Disconnected");
    }
    function onMessage(evt) {
    console.log('Retrieved data from server: ' + evt.data);
    }
    function onError(evt) {
    console.log('Error occured: ' + evt.data);
    }
  • 信息来源:http://www.bianchengzhe.com (举报这篇文章)
  • 好评(...) 中评(...) 差评(...)