Skip to content

Support for lossy connections #1192

@FieldSwan

Description

@FieldSwan

Currently we use websockets to do all communication with the rosbridge_server. This works great for reliable connections to a robot, but under spotty WiFi conditions or with mobile hotspots, the performance can be undesireable. Specifically, users will often see "catch-up" behaviors where the queue of sent messages will be received all at once as soon as bandwidth increases unless the websocket is disconnected first. From my understanding, this is inherent to the websocket protocol. The websocket_ping_timeout does help as we can use this to disconnect and reconnect the websocket to effectively kill old messages, but it doesn't feel like a clean solution to the problem and may introduce new issues if the timeout is too short.

What is the feasibility of using UDP to send messages with rosbridge in situations where users only care about the latest messages (OK to drop old ones that fail to send/receive) and transport reliability guarantees are not needed?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions