mozilla
您的搜尋結果

    TCPSocket API

    此處將以 JavaScript 格式存取原始的 TCP socket API。此 API 目前僅可用於 FirefoxOS 許可/認證的 App。

    進入點 (Entry point)

    var TCPSocket = navigator.mozTCPSocket;
    if(TCPSocket){
      // ...
    }

    API

    interface TCPSocket{
      readonly attribute DOMString host;
      readonly attribute unsigned short port;
      readonly attribute boolean ssl;
      readonly attribute unsigned long bufferedAmount;
      readonly attribute DOMString binaryType;
    
      readonly attribute DOMString readyState;
      readonly attribute DOMString CONNECTING;
      readonly attribute DOMString OPEN;
      readonly attribute DOMString CLOSING;
      readonly attribute DOMString CLOSED;
    
      TCPSocket open(DOMString host, unsigned short port, [object options]);
      void suspend();
      void resume();
      void close();
      boolean send(in jsval data);
    
      attribute onopen;
      attribute ondrain;
      attribute ondata;
      attribute onerror;
      attribute onclose;
    };

    屬性 (Attributes)

    host
    Socket 所要連接的 Host。
    port
    Socket 所要連接的 Port。
    ssl
    Socket 是否經過 SSL 加密。
    bufferedAmount
    位於 Socket 緩衝區內,尚未傳送資料的位元數。
    readyState
    Socket 狀態。可能為 {CONNECTING, OPEN, CLOSING, CLOSED}。

    常數 (Constants)

    CONNECTING
    該數值表示 Socket 的連結狀態。尚未無法傳送資料。
    OPEN
    該數值表示 Socket 的開啟狀態。已可傳送資料。
    CLOSING
    該數值表示 Socket 的關閉中狀態。
    CLOSED
    該數值表示 Socket 的已關閉狀態。

    函式 (Method)

    open(host, port [, options])
    所回傳的新 TCP Socket,均已於指定的 port 連上指定的 hostOptions 將作為正規物件。以下為可用選項:
    • useSSL (此為 Boolean 值;預設為 false):將不論 TCP 連結是否使用 SSL。
    • binaryType (此為字串;預設為「string」):將以資料事件的格式接收 TCP 資料型態,再以 send 的方式傳送資料。可為「string」或「arraybuffer」(UInt8Array)
    send(data)
    將緩衝所要傳送至網路的資料。若可安全緩衝更多資料,則將回傳 true。若是回傳 false,即代表將緩衝更多資料。但若要達到較佳效能 (保持較小緩衝),則應等待下個 drain 事件以緩衝更多資料。
    suspend()
    暫停 data 事件。
    resume()
    繼續 data 事件。若於 Socket 並未暫停的情況下而呼叫此方式,隨即將丟出錯誤。
    close()
    關閉 TCP Socket。

    事件 (Events)

    透過 on* 屬性,可將 Event Listener 附加至 Socket。

    open
    在此事件之後,Socket 即準備好傳送/接收資料。
    drain
    Socket 中可緩衝更多資料。
    error
    發生錯誤。在 open 事件之前,將拒絕連結作業 (不會發生 close 事件)。在 open 事件之後,就會遺失連結作業 (事件之後隨即觸發 close 事件)
    data
    已接受到某些資料。事件的物件將包含 data 屬性,以利檢索資料。在建立 Socket 時,即已設定資料型態。
    close
    已關閉 Socket。

    敘述 (Description)

    此 API 僅可用於 FirefoxOS 許可/認證過的 App。而其指涉的 Host 與 Port 均必須由 app manifest 所提及。

    僅限認證過的 App 可用 1024 以下的 Port。

    另請參閱

    Document Tags and Contributors

    Contributors to this page: MashKao
    最近更新: MashKao,