Module websocket
WebSocket and CloseEvent. Messages arrive as "message" events: text in Event_data, or a buffer in Event_object.
Exposed to: Window. Source: api/websocket.widl.
Odin: import "wren:websocket".
Types
handle WebSocket : Object
Checked by the browser on every call (lookup_WebSocket).
enum WebSocketState : i32
WebSocket.readyState
| member | value | |
|---|---|---|
Connecting | 0 | |
Open | 1 | |
Closing | 2 | |
Closed | 3 |
Functions
WebSocket_create
WebSocket WebSocket_create(string url, string protocols = "") raisesnew WebSocket(url, protocols): protocols is a comma-separated list ("" = none). Syntax for an invalid URL or
protocol list.
Odin: websocket.create.
Raises: returns an Error (see web).
Host: WebSocket_create :: proc(c: ^Call, url: string, protocols: string) -> (u64, Api_Error)
WebSocket_readyState
WebSocketState WebSocket_readyState(WebSocket socket)Odin: websocket.readyState.
Host: WebSocket_readyState :: proc(c: ^Call, socket: Api_WebSocket) -> Api_WebSocketState
WebSocket_url
string WebSocket_url(WebSocket socket)Odin: websocket.url.
Host: WebSocket_url :: proc(c: ^Call, socket: Api_WebSocket) -> string
WebSocket_protocol
string WebSocket_protocol(WebSocket socket)Odin: websocket.protocol.
Host: WebSocket_protocol :: proc(c: ^Call, socket: Api_WebSocket) -> string
WebSocket_extensions
string WebSocket_extensions(WebSocket socket)Odin: websocket.extensions.
Host: WebSocket_extensions :: proc(c: ^Call, socket: Api_WebSocket) -> string
WebSocket_bufferedAmount
i64 WebSocket_bufferedAmount(WebSocket socket)Odin: websocket.bufferedAmount.
Host: WebSocket_bufferedAmount :: proc(c: ^Call, socket: Api_WebSocket) -> i64
WebSocket_binaryType
i32 WebSocket_binaryType(WebSocket socket)0 = "arraybuffer" (buffer handles), the only binary type of this platform.
Odin: websocket.binaryType.
Host: WebSocket_binaryType :: proc(c: ^Call, socket: Api_WebSocket) -> i32
WebSocket_setBinaryType
void WebSocket_setBinaryType(WebSocket socket, i32 binary_type) raisesNot_Supported for anything but 0.
Odin: websocket.setBinaryType.
Raises: returns an Error (see web).
Host: WebSocket_setBinaryType :: proc(c: ^Call, socket: Api_WebSocket, binary_type: i32) -> Api_Error
WebSocket_send
void WebSocket_send(WebSocket socket, usvstring text) raisessocket.send(text). Invalid_State while connecting.
Odin: websocket.send.
Raises: returns an Error (see web).
Host: WebSocket_send :: proc(c: ^Call, socket: Api_WebSocket, text: string) -> Api_Error
WebSocket_sendBuffer
void WebSocket_sendBuffer(WebSocket socket, Buffer data) raisessocket.send(buffer): a binary message.
Odin: websocket.sendBuffer.
Raises: returns an Error (see web).
Host: WebSocket_sendBuffer :: proc(c: ^Call, socket: Api_WebSocket, data: Api_Buffer) -> Api_Error
WebSocket_close
void WebSocket_close(WebSocket socket, i32 code = -1, string reason = "") raisessocket.close(code, reason): code < 0 means absent. Invalid_Access for a code that is not 1000 or 3000-4999, Syntax for a reason over 123 bytes.
Odin: websocket.close.
Raises: returns an Error (see web).
Host: WebSocket_close :: proc(c: ^Call, socket: Api_WebSocket, code: i32, reason: string) -> Api_Error
CloseEvent_wasClean
bool CloseEvent_wasClean(Event event)CloseEvent.wasClean
Host: CloseEvent_wasClean :: proc(c: ^Call, event: Api_Event) -> bool