我试图了解 VNC 如何使用 X11 和 RFB 协议工作。
我看到我的 XVnc 进程监听 59xx(RFB)、58xx(HTTP) 和 60xx(X11) 端口。
我不知道 HTTP 是做什么用的,但我认为我们可以从图片中排除它,并且仍然可以理解 Xvnc 如何使用 RFB 和 X11 协议。
从这里的定义:https ://www.rfc-editor.org/rfc/rfc6143 ,我知道RFB协议用于通过GUI进行远程访问并使用帧缓冲区。
每个客户端会话都有一个专用的帧缓冲区,由客户端访问,根据客户端请求进行修改,并将其更新发送给客户端。
X11 是这个协议,用于显示任何 GUI 应用程序,例如它告诉如何显示窗口或文本等。
那么,我的以下理解正确吗?
- 客户端使用 RFB 协议在 :59xx 端口上与服务器通信并发送任何请求。
- 然后请求由运行在 :59xx 端口上的 Xvnc 服务组件处理,并在 X11 协议中创建对 :60xx 端口的请求。
- :60xx 端口上的 Xvnc 服务组件然后提供输出并由 Xvnc 服务处理并更新帧缓冲区。
- 更新通过 RFB 协议以最简单的方式发送给客户端,使用不同的方法减少网络数据。