noVNC implementation without installing anything on the VNC server side

630 views
Skip to first unread message

Mustafa Levrek

unread,
Jul 6, 2021, 5:54:31 AM7/6/21
to noVNC
Hello
We have a producton server in our company that has network access to the production machines. We have a C# application on this server over which the users can connect to the machines and see their process values.  I want to give the users also the chance to make a VNC connection to the selected machine's IPC over the same web app. The production machines have all a native VNC server on their IPC's. How can i give a VNC acces for the users over my C# web application with NoVNC? I know that NoVNC is a browser based VNC client, and it would be easy for us to integrate it to our app. Our restriction is that we cannot install additional software on the IPC's of the machines.  If we use NoVNC is it mandatory to install an addon or anything else on the VNC server (machine-IPC) side?

Samuel Mannehed

unread,
Aug 10, 2021, 1:05:57 PM8/10/21
to no...@googlegroups.com
Hi Mustafa,
It depends on the VNC server you are going to use. Regular VNC clients
talk TCP with the server, but noVNC can't do that since it runs
completely in the browser and talks WebSockets. noVNC is commonly used
together with Websockify which is a TCP-WebSocket proxy. Some VNC
servers have a built in WebSocket proxy which would be great for your
use case.

However, it seems you don't have much choice when it comes to which VNC
server to use, but I don't know what an IPC is.. If you're in luck and
your VNC server has a built in proxy it should just be a matter of
enabling it and connecting from noVNC.

If you need to use a separate proxy you should probably be fine anyway
since WebSockify doesn't have to run on the same host as the VNC server.
This means you could have a separate server running WebSockify and not
have to install any additional software on the VNC server machine. Your
users will in this case connect to the WebSockify host. It will, in
turn, proxy the data to and from your VNC server.

Hope that helps,
--
Samuel
Cendio AB

Nathan McCorkle

unread,
Jun 9, 2022, 1:34:48 PM6/9/22
to noVNC
Hi Mustafa, this is basically the scenario I have. I made it work by implementing the websocket to socket proxy in my server app (your C# app). Basically I just have two threads which are spawned when the initial websocket connection is made to my server. Thread1 listens on the websocket and sends on the socket. Thread2 listens on the socket, and sends on the websocket.

 
Reply all
Reply to author
Forward
0 new messages