当前位置: 首页 > news >正文

qemu的VNC协议(RFB协议)

1、握手

1.1、服务器收到客户端TCP连接上后,服务器发送RFB的版本: 52 46 42 20 30 30 33 2e 30 30 38 0a     RFB 003.008\n

1.2、客户端收到后回复: 52 46 42 20 30 30 33 2e 30 30 38 0a     RFB 003.008\n

2、安全认证

2.1、服务器发送支持的认证方式

一般支持的类型如下:

2.2、客户端选择支持的类型

2.3、服务器回复结果

3、客户端初始化:是否与其他客户端共享

4、服务器初始化:告诉客户端桌面的信息

Framebuffer width: 图像像素宽度

Framebuffer height: 图像像素高度

Bits per pixel: 每个像素的位数

Depth: 每个像素的位深

Big endian flag: 是否大端

True color flag: 是否真彩色

Red maximum: 红色最大值

Green maximum: 绿色最大值

Blue maximum: 蓝色最大值

Red shift: 红色偏移量

Green shift: 绿色偏移量

Blue shift: 蓝色偏移量

Padding 

Desktop name length: 桌面名称长度

Desktop name: 桌面名称

5、客户端告诉服务器支持的编码

Number of encodings: 支持的编码数量,每种编码4个字节

Encoding type: Tight (7)

Encoding type: CopyRect (1)

Encoding type: ZRLE (16)

Encoding type: Hextile (5)

Encoding type: RRE (2)

Encoding type: Raw (0)

Encoding type: JPEG quality level 6 (-26)

Encoding type: DesktopSize (pseudo) (-223)

Encoding type: LastRect (pseudo) (-224)

Encoding type: Rich Cursor (pseudo) (-239)

6、客户端发起区域更新的请求 命令类型:0x03

7、服务器发送光标数据和桌面的图像数据 命令回复类型:0x00

8、客户端发送键盘的数据 命令类型:0x04

9、客户端发送鼠标的数据 命令类型:0x05

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Django后台数据获取展示
  • Android常用控件Button
  • conda install vs pip install
  • JavaScript基础——函数
  • 使用Python编写AI程序,让机器变得更智能
  • Qt框架学习04——元对象系统
  • Jakarta Servlet 到 SpringMVC
  • 【研发日记】嵌入式处理器技能解锁(四)——TI C2000 DSP的Memory
  • C++编程:无锁环形队列 (LockFreeRingQueue)的简单实现、测试和分析
  • ELK整合实战,filebeat和logstash采集SpringBoot项目日志发送至ES
  • Yii2框架的初始化及执行流程
  • 索引是什么
  • springboot生成、响应图片验证码
  • 如果忘记了 Apple ID 密码,如何重设
  • SpinalHDL之spinal.core 组件(上篇)
  • 【刷算法】从上往下打印二叉树
  • angular2开源库收集
  • Cookie 在前端中的实践
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • Java 23种设计模式 之单例模式 7种实现方式
  • JAVA之继承和多态
  • VUE es6技巧写法(持续更新中~~~)
  • Webpack 4x 之路 ( 四 )
  • 初识MongoDB分片
  • 推荐一个React的管理后台框架
  • 我建了一个叫Hello World的项目
  • ​configparser --- 配置文件解析器​
  • #大学#套接字
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (C++)八皇后问题
  • (MATLAB)第五章-矩阵运算
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (算法)区间调度问题
  • (一)基于IDEA的JAVA基础12
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)原始图像数据和PDF中的图像数据
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架
  • .NET 中让 Task 支持带超时的异步等待
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • /etc/motd and /etc/issue
  • @Autowired注解的实现原理
  • @Controller和@RestController的区别?
  • @Documented注解的作用
  • @Repository 注解
  • @Transactional 参数详解
  • [BUG]vscode插件live server无法自动打开浏览器
  • [BZOJ2281][SDOI2011]黑白棋(K-Nim博弈)