(一)RFB协议概述

RFB协议是一种用于远程访问图形用户接口的简单协议,常用于X11、Windows和Macintosh系统。它基于TCP,允许瘦客户端在不同地点保持用户会话。协议分为显示和输入两部分,显示协议采用矩形块象素更新,并支持多种编码方式如ZRLE、Hextile。输入协议则将键盘和鼠标事件传递给服务器。RFB协议允许扩展新的编码和安全方式,确保兼容性并支持可靠传输。
摘要由CSDN通过智能技术生成

(文章是基于刚刚做过的一个项目,对相关知识点进行总结回顾。主要内容均是对之前收集资料的总结概括,很多内容转载自其它地方。因为时间比较长,没有一一记录转载地址,特此感谢!)

一、简介

  RFB(远程帧缓冲)是一个用于远程访问图形用户接口的简单协议。适用于所有的桌面系统和应用,包括X11,Windows和Macintosh等。

  RFB是基于tcp的一个应用层协议。

   

  我们把用户所在的一端(包括显示器、键盘和鼠标)被称为RFB客户端。而帧缓冲发生变化的一端(桌面系统和应用)称为RFB服务器。

  RFB协议是一个瘦客户协议。协议设计的重点是减小对客户端的要求。这样,客户端可以运行在多种范围的硬件上,实现的任务是使客户端尽可能地简单

  RFB协议也使得客户端是“无状态”的。如果一个客户端和服务器断开了连接,稍后再一次连接到这台服务器上,用户的会话不会被关闭,状态会一直保持着。不同的客户端可以连接到同一个服务器上,在新的客户端上用户看到的是和原来的客户端上相同的图形用户接口。这样,用户的桌面变的完全可移动了。只要有合适的网络连接,用户就可以访问他个人的桌面应用,不论他走到哪里都可以连接到自己的会话上,而这些应用的状态可以一直保持着。

二、显示协议 

  RFB协议的显示部分基于一个简单的画图原理:“将一个矩形块的象素点放在给定位置(xy)上”。这样做初看起来也许非常低效,因为要将用户所有的图形组件都画出来。但是由于可以为象素数据进行多种不同的编码,可以根据不同的参数比如网络带宽、客户端计算速度和服务器处理的速度等选择灵活的编码方式。一系列的矩形块组成了一个帧缓冲更新。一个更新描述了帧缓冲从一个状态到另一个状态的变化情况,所以,某些方面,这和音频的帧很类似。

  更新协议是客户端“命令-驱动”型的。即服务器只有在收到客户端的请求才向其发送更新。这使得显示协议的质量可以调整。客户端和网络速度越慢,更新率就会越低。对于典型的应用,帧缓冲上相同区域的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值