Skip to main content

websocket

WebSocket client bindings for ESP32 Provides WebSocket client functionality for real-time communication

export enum WebsocketState {
Connecting = 0,
Connected = 1,
Closed = 2,
Error = 3
}

export enum WebsocketEventType {
Connected = 0,
Disconnected = 1,
Data = 2,
Error = 3,
BeforeRetry = 4
}

export enum WebsocketError {
Ok = 0,
InvalidArg = 1,
ConnectFail = 2,
NoMemory = 3,
SendFail = 4,
RecvFail = 5
}


// @ts-ignore
@external("websocket", "websocket_client_connect")
export declare function websocketClientConnect(uri: u32): u32;


// @ts-ignore
@external("websocket", "websocket_client_close")
export declare function websocketClientClose(client: u32): void;


// @ts-ignore
@external("websocket", "websocket_client_recv")
export declare function websocketClientRecv(client: u32, timeoutMs: i32): u32;


// @ts-ignore
@external("websocket", "websocket_event_get_id")
export declare function websocketEventGetId(event: u32): i32;


// @ts-ignore
@external("websocket", "websocket_event_get_data")
export declare function websocketEventGetData(event: u32): u32;


// @ts-ignore
@external("websocket", "websocket_event_get_data_len")
export declare function websocketEventGetDataLen(event: u32): u32;


// @ts-ignore
@external("websocket", "websocket_event_get_payload_offset")
export declare function websocketEventGetPayloadOffset(event: u32): i32;


// @ts-ignore
@external("websocket", "websocket_event_get_payload_len")
export declare function websocketEventGetPayloadLen(event: u32): i32;


// @ts-ignore
@external("websocket", "websocket_event_free")
export declare function websocketEventFree(event: u32): void;


// @ts-ignore
@external("websocket", "websocket_client_send_text")
export declare function websocketClientSendText(client: u32, data: u32): i32;