Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface WebSocket

A WebSocket connection that is valid from open to close event. Read more about this in the user manual.

Hierarchy

  • WebSocket

Indexable

[key: string]: any

Arbitrary user data may be attached to this object. In C++ this is done by using getUserData().

Index

Methods

close

  • Forcefully closes this WebSocket. Immediately calls the close handler. No WebSocket close message is sent.

    Returns WebSocket

cork

  • cork(cb: () => void): void
  • See HttpResponse.cork. Takes a function in which the socket is corked (packing many sends into one single syscall/SSL block)

    Parameters

    • cb: () => void
        • (): void
        • Returns void

    Returns void

end

  • Gracefully closes this WebSocket. Immediately calls the close handler. A WebSocket close message is sent with code and shortMessage.

    Parameters

    Returns WebSocket

getBufferedAmount

  • getBufferedAmount(): number
  • Returns the bytes buffered in backpressure. This is similar to the bufferedAmount property in the browser counterpart. Check backpressure example.

    Returns number

getRemoteAddress

  • getRemoteAddress(): ArrayBuffer
  • Returns the remote IP address. Note that the returned IP is binary, not text.

    IPv4 is 4 byte long and can be converted to text by printing every byte as a digit between 0 and 255. IPv6 is 16 byte long and can be converted to text in similar ways, but you typically print digits in HEX.

    See getRemoteAddressAsText() for a text version.

    Returns ArrayBuffer

getRemoteAddressAsText

  • getRemoteAddressAsText(): ArrayBuffer
  • Returns the remote IP address as text. See RecognizedString.

    Returns ArrayBuffer

getTopics

  • getTopics(): string[]
  • Returns a list of topics this websocket is subscribed to.

    Returns string[]

isSubscribed

ping

  • Sends a ping control message. Returns true on success in similar ways as WebSocket.send does (regarding backpressure). This helper function correlates to WebSocket::send(message, uWS::OpCode::PING, ...) in C++.

    Parameters

    Returns boolean

publish

  • Publish a message to a topic in MQTT syntax. You cannot publish using wildcards, only fully specified topics. Just like with MQTT.

    "parent/child" kind of tree is allowed, but not "parent/#" kind of wildcard publishing.

    The pub/sub system does not guarantee order between what you manually send using WebSocket.send and what you publish using WebSocket.publish. WebSocket messages are perfectly atomic, but the order in which they appear can get scrambled if you mix the two sending functions on the same socket. This shouldn't matter in most applications. Order is guaranteed relative to other calls to WebSocket.publish.

    Also keep in mind that backpressure will be automatically managed with pub/sub, meaning some outgoing messages may be dropped if backpressure is greater than specified maxBackpressure.

    Parameters

    Returns boolean

send

  • send(message: RecognizedString, isBinary?: boolean, compress?: boolean): boolean
  • Sends a message. Make sure to check getBufferedAmount() before sending. Returns true for success, false for built up backpressure that will drain when time is given. Returning false does not mean nothing was sent, it only means backpressure was built up. This you can check by calling getBufferedAmount() afterwards.

    Make sure you properly understand the contept of backpressure. Check the backpressure example file.

    Parameters

    • message: RecognizedString
    • Optional isBinary: boolean
    • Optional compress: boolean

    Returns boolean

subscribe

  • Subscribe to a topic in MQTT syntax.

    MQTT syntax includes things like "root/child/+/grandchild" where "+" is a wildcard and "root/#" where "#" is a terminating wildcard.

    Read more about MQTT.

    Parameters

    Returns boolean

unsubscribe

  • Unsubscribe from a topic. Returns true on success, if the WebSocket was subscribed.

    Parameters

    Returns boolean

Generated using TypeDoc