nsIWebSocketChannel
Provides support for WebSocket channels.
1.0
38.0.5
Introduced
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["@mozilla.org/????????????????????????????"] .createInstance(Components.interfaces.nsIWebSocketChannel);
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); |
Attributes
Attribute | Type | Description |
extensions |
ACString |
Sec-Websocket-Extensions response header value. Read only. |
loadGroup |
|
The load group of the WebSockets code. |
notificationCallbacks |
|
The notification callbacks for authorization and so forth. |
originalURI |
|
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 |
|
Transport-level security information (if any). Read only. |
URI |
|
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. |
Methods
asyncOpen()
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 );
Parameters
-
aURI
-
The
uri
of the websocket protocol; this may be redirected. -
aOrigin
- The URI of the originating resource.
-
aListener
-
The
nsIWebSocketListener
implementation. -
aContext
-
An opaque parameter forwarded to
aListener
's methods.
close()
void close( in unsigned short aCode, in AUTF8String aReason );
Parameters
-
aCode
- The status of the connection when closed; see Status codes for possible values.
-
aReason
- A human-readable string describing the reason the connection closed.
sendBinaryMsg()
Sends a binary message to the WebSocket peer.
void sendBinaryMsg( in ACString aMsg );
Parameters
-
aMsg
- The data to send.
sendMsg()
Sends a text message to the WebSocket peer.
void sendMsg( in AUTF8String aMsg );
Parameters
-
aMsg
- The UTF-8 string to send.