-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Websocket fallback mechanism #181
Comments
Dear @pravn0993, Thank you for your continued use of the VPL plugin and for reaching out with your concerns. Could you please provide more details about your network configuration? Specifically, are your execution servers accessible from the internet? Implementing a fallback mechanism for unreliable connections is indeed a promising solution. However, there are several considerations to address at this stage. Currently, noVNC only operates over WebSocket, and unfortunately, we don't have a socket.io server-side implementation available for C++. Your suggestion merits thorough consideration, especially in the context of the limitations you've described. It's essential to explore all aspects of implementing such a fallback mechanism within VPL, both on the frontend and backend, as well as on the Jail server. Best regards, |
Thanks for your response. Yes, the jail servers and MOODLE servers are hosted as EC2 instances in AWS and are publicly accessible. The students who connect to the MOODLE platform are behind a proxy network which straight away blocks socket connections. Both MOODLE and Jail servers have valid SSL certificates are accessed from browser through HTTPS protocol. |
Dear @pravn0993, Thank you for providing the additional details about your network configuration. While the automatic fallback capability of socket.io presents a promising solution, integrating it with our existing system, particularly with the VPL plugin's reliance on WebSocket through noVNC, and our backend's current infrastructure, poses significant development challenges. Specifically, our system's backend, including the Jail server which is primarily developed in C++, does not currently support a socket.io server-side implementation. Considering these factors, and despite recognizing the potential benefits of such an integration, we do not have immediate plans to incorporate socket.io as a fallback mechanism for WebSocket connections. I recommend, as a workaround, updating and configuring proxy settings to allow WebSocket connections. Best regards, Juan Carlos |
Hello @jcrodriguez-dis,
We are using the VPL plugin for a long time now. Thank you for the wonderful plugin.
According to our use case, we have a lot of users behind firewalls and proxies who are not able to access the programming labs. These firewalls and proxies just block web socket connections even though we use WSS protocol and our MOODLE platform itself using https protocol. While I understand the importance of sockets, does VPL support any fallback mechanism in case WS connection fails? For example, if we use socket.io, it will automatically fall back to long-polling mechanism.
In case VPL doesn't currently have any fallback to sockets, can you guide us on how to implement the same and the changes that would be required in VPL(front end and backend) and Jail server? We will check the possibilities of implementing them.
Have a nice day!
The text was updated successfully, but these errors were encountered: