sccn / liblsl

C++ lsl library for multi-modal time-synched data transmission over the local network
Other
108 stars 63 forks source link

[REQ] TCP-based service discovery + WebSockets #88

Open yasithdev opened 3 years ago

yasithdev commented 3 years ago

Hello,

I'm attempting to build a browser plugin (WASM) for LSL for my research work, but encountered a few issues that is preventing me from doing so.

1) It appears that LSL uses UDP+multicast for service discovery. Unless I go in a WebRTC route, I'm stuck at implementing this at browser-level. Is there any work to build a TCP-based service discovery into LSL?

2) LSL communicates data through pure sockets, and currently do not support WebSockets. Is there any work on adding WebSocket support into it?

Unless I'm mistaken, it's not possible to use LSL in a browser environment without these features. (For WebSockets, however, we could temporarily use the WebSockets proxy included in Emscripten, but it seems very hacky)

Any ideas / suggestions around this?

tstenner commented 3 years ago
  1. Not that I know of, starting with TCP's lack of multicast support so you'd need some kind of discovery program that offers a list of local streams via e.g. HTTP.
  2. There's an issue for that in the labstreaminglayer repository (https://github.com/sccn/labstreaminglayer/issues/34), but I don't know of anyone actively working on it.