{{+bindTo:partials.standard_nacl_article}}
| PP_Resource(* | Create )(PP_Instance instance) |
| PP_Bool(* | IsWebSocket )(PP_Resource resource) |
| int32_t(* | Connect )(PP_Resource web_socket, struct PP_Var url, const struct PP_Var protocols[], uint32_t protocol_count, struct PP_CompletionCallback callback) |
| int32_t(* | Close )(PP_Resource web_socket, uint16_t code, struct PP_Var reason, struct PP_CompletionCallback callback) |
| int32_t(* | ReceiveMessage )(PP_Resource web_socket, struct PP_Var *message, struct PP_CompletionCallback callback) |
| int32_t(* | SendMessage )(PP_Resource web_socket, struct PP_Var message) |
| uint64_t(* | GetBufferedAmount )(PP_Resource web_socket) |
| uint16_t(* | GetCloseCode )(PP_Resource web_socket) |
| struct PP_Var(* | GetCloseReason )(PP_Resource web_socket) |
| PP_Bool(* | GetCloseWasClean )(PP_Resource web_socket) |
| struct PP_Var(* | GetExtensions )(PP_Resource web_socket) |
| struct PP_Var(* | GetProtocol )(PP_Resource web_socket) |
| PP_WebSocketReadyState(* | GetReadyState )(PP_Resource web_socket) |
| struct PP_Var(* | GetURL )(PP_Resource web_socket) |
The PPB_WebSocket interface provides bi-directional, full-duplex, communications over a single TCP socket.
| int32_t(* PPB_WebSocket::Close)(PP_Resource web_socket, uint16_t code, struct PP_Var reason, struct PP_CompletionCallback callback) |
Close() closes the specified WebSocket connection by specifying code and reason.
| [in] | web_socket | A PP_Resource corresponding to a WebSocket. |
| [in] | code | The WebSocket close code. This is ignored if it is PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED. PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE must be used for the usual case. To indicate some specific error cases, codes in the range PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN to PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX, and in the range PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN to PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX are available. |
| [in] | reason | A PP_Var representing the WebSocket close reason. This is ignored if it is PP_VARTYPE_UNDEFINED. Otherwise, its PP_VarType must be PP_VARTYPE_STRING. |
| [in] | callback | A PP_CompletionCallback called when the connection is closed or an error occurs in closing the connection. |
pp_errors.h. Returns PP_ERROR_BADARGUMENT if reason contains an invalid character as a UTF-8 string, or is longer than 123 bytes. PP_ERROR_BADARGUMENT corresponds to a JavaScript SyntaxError in the WebSocket API specification. Returns PP_ERROR_NOACCESS if the code is not an integer equal to 1000 or in the range 3000 to 4999. PP_ERROR_NOACCESS corresponds to an InvalidAccessError in the WebSocket API specification. Returns PP_ERROR_INPROGRESS if a previous call to Close() is not finished. | int32_t(* PPB_WebSocket::Connect)(PP_Resource web_socket, struct PP_Var url, const struct PP_Var protocols[], uint32_t protocol_count, struct PP_CompletionCallback callback) |
Connect() connects to the specified WebSocket server.
You can call this function once for a web_socket.
| [in] | web_socket | A PP_Resource corresponding to a WebSocket. |
| [in] | url | A PP_Var representing a WebSocket server URL. The PP_VarType must be PP_VARTYPE_STRING. |
| [in] | protocols | A pointer to an array of PP_Var specifying sub-protocols. Each PP_Var represents one sub-protocol and its PP_VarType must be PP_VARTYPE_STRING. This argument can be null only if protocol_count is 0. |
| [in] | protocol_count | The number of sub-protocols in protocols. |
| [in] | callback | A PP_CompletionCallback called when a connection is established or an error occurs in establishing connection. |
pp_errors.h. Returns PP_ERROR_BADARGUMENT if the specified url, or protocols contain an invalid string as defined in the WebSocket API specification. PP_ERROR_BADARGUMENT corresponds to a SyntaxError in the WebSocket API specification. Returns PP_ERROR_NOACCESS if the protocol specified in the url is not a secure protocol, but the origin of the caller has a secure scheme. Also returns PP_ERROR_NOACCESS if the port specified in the url is a port that the user agent is configured to block access to because it is a well-known port like SMTP. PP_ERROR_NOACCESS corresponds to a SecurityError of the specification. Returns PP_ERROR_INPROGRESS if this is not the first call to Connect(). | PP_Resource(* PPB_WebSocket::Create)(PP_Instance instance) |
Create() creates a WebSocket instance.
| [in] | instance | A PP_Instance identifying the instance with the WebSocket. |
PP_Resource corresponding to a WebSocket if successful. | uint64_t(* PPB_WebSocket::GetBufferedAmount)(PP_Resource web_socket) |
GetBufferedAmount() returns the number of bytes of text and binary messages that have been queued for the WebSocket connection to send, but have not been transmitted to the network yet.
| [in] | web_socket | A PP_Resource corresponding to a WebSocket. |
| uint16_t(* PPB_WebSocket::GetCloseCode)(PP_Resource web_socket) |
GetCloseCode() returns the connection close code for the WebSocket connection.
| [in] | web_socket | A PP_Resource corresponding to a WebSocket. |
struct PP_Var(* PPB_WebSocket::GetCloseReason)(PP_Resource web_socket) [read] |
GetCloseReason() returns the connection close reason for the WebSocket connection.
| [in] | web_socket | A PP_Resource corresponding to a WebSocket. |
PP_VARTYPE_STRING var. If called before the close reason is set, the return value contains an empty string. Returns a PP_VARTYPE_UNDEFINED if called on an invalid resource. | PP_Bool(* PPB_WebSocket::GetCloseWasClean)(PP_Resource web_socket) |
GetCloseWasClean() returns if the connection was closed cleanly for the specified WebSocket connection.
| [in] | web_socket | A PP_Resource corresponding to a WebSocket. |
PP_FALSE if called before the connection is closed, called on an invalid resource, or closed for abnormal reasons. Otherwise, returns PP_TRUE if the connection was closed cleanly. struct PP_Var(* PPB_WebSocket::GetExtensions)(PP_Resource web_socket) [read] |
GetExtensions() returns the extensions selected by the server for the specified WebSocket connection.
| [in] | web_socket | A PP_Resource corresponding to a WebSocket. |
PP_VARTYPE_STRING var. If called before the connection is established, the var's data is an empty string. Returns a PP_VARTYPE_UNDEFINED if called on an invalid resource. struct PP_Var(* PPB_WebSocket::GetProtocol)(PP_Resource web_socket) [read] |
GetProtocol() returns the sub-protocol chosen by the server for the specified WebSocket connection.
| [in] | web_socket | A PP_Resource corresponding to a WebSocket. |
PP_VARTYPE_STRING var. If called before the connection is established, the var contains the empty string. Returns a PP_VARTYPE_UNDEFINED if called on an invalid resource. | PP_WebSocketReadyState(* PPB_WebSocket::GetReadyState)(PP_Resource web_socket) |
GetReadyState() returns the ready state of the specified WebSocket connection.
| [in] | web_socket | A PP_Resource corresponding to a WebSocket. |
PP_WEBSOCKETREADYSTATE_INVALID if called before Connect() is called, or if this function is called on an invalid resource. struct PP_Var(* PPB_WebSocket::GetURL)(PP_Resource web_socket) [read] |
GetURL() returns the URL associated with specified WebSocket connection.
| [in] | web_socket | A PP_Resource corresponding to a WebSocket. |
PP_VARTYPE_STRING var. If called before the connection is established, the var contains the empty string. Returns a PP_VARTYPE_UNDEFINED if this function is called on an invalid resource. | PP_Bool(* PPB_WebSocket::IsWebSocket)(PP_Resource resource) |
IsWebSocket() determines if the provided resource is a WebSocket instance.
| [in] | resource | A PP_Resource corresponding to a WebSocket. |
PP_TRUE if resource is a PPB_WebSocket, PP_FALSE if the resource is invalid or some type other than PPB_WebSocket. | int32_t(* PPB_WebSocket::ReceiveMessage)(PP_Resource web_socket, struct PP_Var *message, struct PP_CompletionCallback callback) |
ReceiveMessage() receives a message from the WebSocket server.
This interface only returns a single message. That is, this interface must be called at least N times to receive N messages, no matter the size of each message.
| [in] | web_socket | A PP_Resource corresponding to a WebSocket. |
| [out] | message | The received message is copied to provided message. The message must remain valid until ReceiveMessage() completes. Its received PP_VarType will be PP_VARTYPE_STRING or PP_VARTYPE_ARRAY_BUFFER. |
| [in] | callback | A PP_CompletionCallback called when ReceiveMessage() completes. This callback is ignored if ReceiveMessage() completes synchronously and returns PP_OK. |
pp_errors.h. If an error is detected or connection is closed, ReceiveMessage() returns PP_ERROR_FAILED after all buffered messages are received. Until buffered message become empty, ReceiveMessage() continues to return PP_OK as if connection is still established without errors. | int32_t(* PPB_WebSocket::SendMessage)(PP_Resource web_socket, struct PP_Var message) |
SendMessage() sends a message to the WebSocket server.
| [in] | web_socket | A PP_Resource corresponding to a WebSocket. |
| [in] | message | A message to send. The message is copied to an internal buffer, so the caller can free message safely after returning from the function. Its sent PP_VarType must be PP_VARTYPE_STRING or PP_VARTYPE_ARRAY_BUFFER. |
pp_errors.h. Returns PP_ERROR_FAILED if the ReadyState is PP_WEBSOCKETREADYSTATE_CONNECTING. PP_ERROR_FAILED corresponds to a JavaScript InvalidStateError in the WebSocket API specification. Returns PP_ERROR_BADARGUMENT if the provided message contains an invalid character as a UTF-8 string. PP_ERROR_BADARGUMENT corresponds to a JavaScript SyntaxError in the WebSocket API specification. Otherwise, returns PP_OK, which doesn't necessarily mean that the server received the message.