This is an archived page. It's not actively maintained.



Provides support for WebSocket channels.
Gecko 8.0
Inherits from: nsISupports Last changed in Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5)

Implemented by: ?????????????????????????????????????. To create an instance, use:

var webSocketChannel = Components.classes[""]

Method overview

void asyncOpen(in nsIURI aURI, in ACString aOrigin, in nsIWebSocketListener aListener, in nsISupports aContext);
void close(in unsigned short aCode, in AUTF8String aReason);
void sendBinaryMsg(in ACString aMsg);
void sendMsg(in AUTF8String aMsg);


Attribute Type Description
extensions ACString Sec-Websocket-Extensions response header value. Read only.
loadGroup nsILoadGroup The load group of the WebSockets code.
notificationCallbacks nsIInterfaceRequestor The notification callbacks for authorization and so forth.
originalURI nsIURI The original URI used to construct the protocol connection. This is used in the case of a redirect or URI "resolution" (for example resolving a resource: URI to a file: URI) so that the original pre-redirect URI can still be obtained. This is never null. Read only.
protocol ACString Sec-Websocket-Protocol value.
securityInfo nsISupports Transport-level security information (if any). Read only.
URI nsIURI The URI corresponding to the protocol connection after any redirections are completed. Read only.

Status codes

The following values are permitted status codes.

Status code Name Description
0-999   Reserved and not used.
1000 CLOSE_NORMAL Normal closure; the connection successfully completed whatever purpose for which it was created.
1001 CLOSE_GOING_AWAY The endpoint is going away, either because of a server failure or because the browser is navigating away from the page that opened the connection.
1002 CLOSE_PROTOCOL_ERROR The endpoint is terminating the connection due to a protocol error.
1003 CLOSE_UNSUPPORTED The connection is being terminated because the endpoint received data of a type it cannot accept (for example, a text-only endpoint received binary data).
1004 CLOSE_TOO_LARGE The endpoint is terminating the connection because a data frame was received that is too large.
1005 CLOSE_NO_STATUS Reserved.  Indicates that no status code was provided even though one was expected.
1006 CLOSE_ABNORMAL Reserved. Used to indicate that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected.
1007-1999   Reserved for future use by the WebSocket standard.
2000-2999   Reserved for use by WebSocket extensions.
3000-3999   Available for use by libraries and frameworks. May not be used by applications.
4000-4999   Available for use by applications.



Asynchronously opens the WebSocket connection. Received messages are fed to the socket listener as they arrive. The socket listener's methods are called on the thread that calls asyncOpen() and are not called until after asyncOpen() returns. If asyncOpen() returns successfully, the protocol implementation promises to call at least onStart and onStop of the listener.

Note: Implementations should throw NS_ERROR_ALREADY_OPENED if the WebSocket connection is reopened.

void asyncOpen(
  in nsIURI aURI,
  in ACString aOrigin,
  in nsIWebSocketListener aListener,
  in nsISupports aContext
The uri of the websocket protocol; this may be redirected.
The URI of the originating resource.
The nsIWebSocketListener implementation.
An opaque parameter forwarded to aListener's methods.


void close(
  in unsigned short aCode,
  in AUTF8String aReason
The status of the connection when closed; see Status codes for possible values.
A human-readable string describing the reason the connection closed.


Sends a binary message to the WebSocket peer.

void sendBinaryMsg(
  in ACString aMsg
The data to send.


Sends a text message to the WebSocket peer.

void sendMsg(
  in AUTF8String aMsg
The UTF-8 string to send.

See also