Finally got it working. Now I have eye tracker data streaming to the browser, so I can build an interface using libraries like React for the web.
In the end the method that worked best and without any noticeable lag is:
- Accessing the raw data stream using Tobii's C++ SDK (this happens through an openFrameworks program)
- Creating a local network OSC stream and sending gaze events (same openFrameworks progam)
- Listening for the OSC stream on a nodejs server
- Packaging up the OSC stream data to json and sending it to listening clients via a nodejs socketio server
- Listening for the most recent state updates from the server and rendering on the client
Lots of hoops to jump though to hack this system together but now I can do the fun interfacey stuff.