Skip to content

k.net.webSocket ​

Upgrade current requests to WebSocket and manage intrasite connections

Overview ​

Handle WebSocket via k.net.webSocket (note the case of webSocket): upgrade the connection via accept on the current API request, or send a message to an existing connection via get.

The client must use ws:// or wss:// to access the corresponding API address, otherwise an error will be reported.

accept() ​

Upgrade the current HTTP request to a WebSocket and block the current script until the connection is closed (commonly used with private WS endpoints).

ParameterTypeDescription
idstringConnection ID, unique within the same site, for use by get / list
receivefunctionMessage callback received, parameter ctx contains text / binary

Returns: void. The current script stays running until the connection is closed.

ts
k.api.get("ws", () => {
    k.net.webSocket.accept("user_1", (ctx) => {
        if (ctx.text) {
            // Handle text frame
        }
        if (ctx.binary) {
            // Handle binary frame
        }
    })
})

Subject to site WebSocket configuration restrictions (maximum number of connections, sending and receiving size, timeout, etc.), an exception will be thrown if the limit is exceeded.

list() ​

Returns the list of registered connection ids for the current site.

Parameters: none.

Returns: string[]. Registered connection IDs for the current site.

ts
const ids = k.net.webSocket.list()

get() ​

Get the connection by id for active push by the server.

ParameterTypeRequiredDescription
idstringYesConnection ID.

Returns: WebSocketConnection | null. Matching connection, or an empty value when it does not exist.

ts
const conn = k.net.webSocket.get("user_1")
if (conn) {
    conn.sendText("hello")
    conn.sendBinary([1, 2, 3])
    conn.close()
}
MethodDescription
sendText(text, callback?)Send text frame
sendBinary(bytes, callback?)Send binary frame
close(status?, description?)close connection