Why Socket.io for transport?
- Well mainly because this allows for a plug and play feel.
- Not having to restart the server for a plugin makes sense.
- Fast and reliable data transfer.
- It was previously attempted that we use UDP ports to achieve the same result but found there was quality loss.
- Socket.io is supported by many languages, not just Node.js
- Write your plugin in Python, C++, whatever. As long as it communicates with
camera.js through socket.io the data exchange remains the same.
- Since each plugin is it's own process it can be run on another machine entirely.
- You could have one machine do camera.js functions and another do opencv requests.