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

为什么凡科网做的网站无法搜索国外做伞的品牌网站

为什么凡科网做的网站无法搜索,国外做伞的品牌网站,网站建设合同是否属于技术服务合同,赶集网做网站RFC 6143 规范文档#xff1a;The Remote Framebuffer Protocol 文章目录1. 引言2. 初始连接流程2.1 TCP连接建立2.2 协议版本协商2.3 安全握手3. 显示协议机制3.1 核心概念3.2 像素格式4. 输入协议4.1 键盘事件(KeyEvent)4.2 鼠标事件(PointerEvent)5. 协议消息详解5.1 握手消… RFC 6143 规范文档The Remote Framebuffer Protocol 文章目录1. 引言2. 初始连接流程2.1 TCP连接建立2.2 协议版本协商2.3 安全握手3. 显示协议机制3.1 核心概念3.2 像素格式4. 输入协议4.1 键盘事件(KeyEvent)4.2 鼠标事件(PointerEvent)5. 协议消息详解5.1 握手消息5.2 初始化消息5.3 客户端→服务器消息5.4 服务器→客户端消息6. 编码类型6.1 标准编码6.2 伪编码6.3 Hextile编码处理流程7. 协议工作流程8. 安全性考虑8.1 协议原生安全机制8.2 推荐安全实践9. IANA注册表9.1 安全类型注册部分9.2 消息类型范围10. 实际应用与优化10.1 性能优化策略10.2 现代扩展实现11. 协议演进历史附录ARFB协议状态机附录B协议消息结构图B.1 FramebufferUpdate 消息结构B.2 Hextile编码子矩形示例附录C协议数据流示例C.1 典型通信过程C.2 伪编码应用场景 1. 引言 Remote Framebuffer Protocol (RFB) 是一种轻量级、跨平台的远程图形访问协议主要应用于虚拟网络计算(VNC)系统。其核心设计理念 与图形系统解耦不依赖特定GUI实现如X11、Windows GDI客户端主导模型由客户端主动请求屏幕更新高效传输支持多种编码方式和增量更新强扩展性通过编码类型协商适应不同场景 #mermaid-svg-BxmQy6hiuqFZcvpy {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-BxmQy6hiuqFZcvpy .error-icon{fill:#552222;}#mermaid-svg-BxmQy6hiuqFZcvpy .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-BxmQy6hiuqFZcvpy .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-BxmQy6hiuqFZcvpy .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-BxmQy6hiuqFZcvpy .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-BxmQy6hiuqFZcvpy .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-BxmQy6hiuqFZcvpy .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-BxmQy6hiuqFZcvpy .marker{fill:#333333;stroke:#333333;}#mermaid-svg-BxmQy6hiuqFZcvpy .marker.cross{stroke:#333333;}#mermaid-svg-BxmQy6hiuqFZcvpy svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-BxmQy6hiuqFZcvpy .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-BxmQy6hiuqFZcvpy .cluster-label text{fill:#333;}#mermaid-svg-BxmQy6hiuqFZcvpy .cluster-label span{color:#333;}#mermaid-svg-BxmQy6hiuqFZcvpy .label text,#mermaid-svg-BxmQy6hiuqFZcvpy span{fill:#333;color:#333;}#mermaid-svg-BxmQy6hiuqFZcvpy .node rect,#mermaid-svg-BxmQy6hiuqFZcvpy .node circle,#mermaid-svg-BxmQy6hiuqFZcvpy .node ellipse,#mermaid-svg-BxmQy6hiuqFZcvpy .node polygon,#mermaid-svg-BxmQy6hiuqFZcvpy .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-BxmQy6hiuqFZcvpy .node .label{text-align:center;}#mermaid-svg-BxmQy6hiuqFZcvpy .node.clickable{cursor:pointer;}#mermaid-svg-BxmQy6hiuqFZcvpy .arrowheadPath{fill:#333333;}#mermaid-svg-BxmQy6hiuqFZcvpy .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-BxmQy6hiuqFZcvpy .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-BxmQy6hiuqFZcvpy .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-BxmQy6hiuqFZcvpy .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-BxmQy6hiuqFZcvpy .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-BxmQy6hiuqFZcvpy .cluster text{fill:#333;}#mermaid-svg-BxmQy6hiuqFZcvpy .cluster span{color:#333;}#mermaid-svg-BxmQy6hiuqFZcvpy div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-BxmQy6hiuqFZcvpy :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}请求更新/发送输入发送帧更新RFB客户端RFB服务器2. 初始连接流程 2.1 TCP连接建立 客户端连接服务器默认端口5900或5900显示编号使用TCP协议进行可靠传输 2.2 协议版本协商 # 服务器发送协议版本 server_send(bRFB 003.008\n) # 固定12字节# 客户端响应支持版本 client_send(bRFB 003.008\n) # 取双方都支持的最高版本2.3 安全握手 3. 显示协议机制 3.1 核心概念 帧缓冲区(Framebuffer)代表屏幕内容的二维像素数组增量传输仅传输变化的矩形区域编码协商客户端指定支持的编码列表 3.2 像素格式 struct PixelFormat {uint8 bits_per_pixel; // 像素深度(8/16/32)uint8 depth; // 颜色深度uint8 big_endian_flag; // 字节序(0小端,1大端)uint8 true_color_flag; // 是否真彩色(1true)uint16 red_max; // 红色通道最大值uint16 green_max; // 绿色通道最大值uint16 blue_max; // 蓝色通道最大值uint8 red_shift; // 红色位偏移uint8 green_shift; // 绿色位偏移uint8 blue_shift; // 蓝色位偏移uint8 padding[3]; // 对齐填充 };4. 输入协议 4.1 键盘事件(KeyEvent) struct {uint8 message_type; // 消息类型 (固定为0x04)uint8 down_flag; // 按键状态 (1按下, 0释放)uint8 padding[2]; // 填充字节uint32 key; // 键值 (Keysym编码) } KeyEvent;[消息类型:1][down:1][padding:2][key:4] // down1: 按键按下, down0: 按键释放 // key: X11键码(兼容Windows/Mac)4.2 鼠标事件(PointerEvent) struct {uint8 message_type; // 消息类型 (固定为0x05)uint8 button_mask; // 按钮状态掩码uint16 x_position; // X坐标 (0到framebuffer宽度-1)uint16 y_position; // Y坐标 (0到framebuffer高度-1) } PointerEvent;[消息类型:1][button-mask:1][x:16][y:16]按钮掩码(button-mask): 位置 掩码值 (十六进制) 对应按钮 位0 0x01 左键 位1 0x02 中键/滚轮按下 位2 0x04 右键 位3 0x08 滚轮上滚 (扩展) 位4 0x10 滚轮下滚 (扩展) 位5 0x20 侧键后退 (扩展) 位6 0x40 侧键前进 (扩展) 5. 协议消息详解 5.1 握手消息 消息类型方向结构ProtocolVersion服务器→客户端“RFB XXX.YYY\n” (12字节)Security服务器→客户端[num-types:1][security-types]SecurityResult服务器→客户端[status:4][reason-string] 5.2 初始化消息 消息类型方向结构ClientInit客户端→服务器[shared-flag:1] (1共享连接)ServerInit服务器→客户端[width:16][height:16][pixel-format][name] 5.3 客户端→服务器消息 类型ID消息名称结构功能说明0x00SetPixelFormat[消息ID][padding:3][PixelFormat]设置像素格式0x02SetEncodings[消息ID][padding:1][num-enc:2][encodings]设置支持的编码类型0x03FramebufferUpdateRequest[消息ID][incremental:1][x][y][w][h]请求帧缓冲区更新0x04KeyEvent[消息ID][down][padding][key]发送键盘事件0x05PointerEvent[消息ID][button-mask][x][y]发送鼠标事件0x06ClientCutText[消息ID][padding:3][length:4][text]发送剪贴板文本 5.4 服务器→客户端消息 类型ID消息名称结构功能说明0x00FramebufferUpdate[消息ID][padding:1][num-rect:2][rects]发送帧更新0x01SetColorMapEntries[消息ID][padding:1][first-color:2][colors]设置调色板0x02Bell[消息ID]触发客户端响铃0x03ServerCutText[消息ID][padding:3][length:4][text]发送服务器剪贴板文本 6. 编码类型 6.1 标准编码 编码ID名称描述0Raw原始像素数据无压缩1CopyRect复制屏幕已有区域仅传输源坐标2RRE行程编码适用于大面积纯色块5Hextile分块处理(16x16)每块可选子编码16ZRLEZlib压缩的行程编码最高效的压缩方式15TRLE透明行程编码支持透明色 6.2 伪编码 编码ID名称描述-239Cursor传输鼠标光标形状和热点位置-223DesktopSize通知客户端桌面分辨率已改变-258ExtendedClipboard扩展剪贴板支持(非标准) 6.3 Hextile编码处理流程 #mermaid-svg-6STLywKZftCWYVfI {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6STLywKZftCWYVfI .error-icon{fill:#552222;}#mermaid-svg-6STLywKZftCWYVfI .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-6STLywKZftCWYVfI .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-6STLywKZftCWYVfI .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-6STLywKZftCWYVfI .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-6STLywKZftCWYVfI .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-6STLywKZftCWYVfI .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-6STLywKZftCWYVfI .marker{fill:#333333;stroke:#333333;}#mermaid-svg-6STLywKZftCWYVfI .marker.cross{stroke:#333333;}#mermaid-svg-6STLywKZftCWYVfI svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-6STLywKZftCWYVfI .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-6STLywKZftCWYVfI .cluster-label text{fill:#333;}#mermaid-svg-6STLywKZftCWYVfI .cluster-label span{color:#333;}#mermaid-svg-6STLywKZftCWYVfI .label text,#mermaid-svg-6STLywKZftCWYVfI span{fill:#333;color:#333;}#mermaid-svg-6STLywKZftCWYVfI .node rect,#mermaid-svg-6STLywKZftCWYVfI .node circle,#mermaid-svg-6STLywKZftCWYVfI .node ellipse,#mermaid-svg-6STLywKZftCWYVfI .node polygon,#mermaid-svg-6STLywKZftCWYVfI .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-6STLywKZftCWYVfI .node .label{text-align:center;}#mermaid-svg-6STLywKZftCWYVfI .node.clickable{cursor:pointer;}#mermaid-svg-6STLywKZftCWYVfI .arrowheadPath{fill:#333333;}#mermaid-svg-6STLywKZftCWYVfI .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-6STLywKZftCWYVfI .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-6STLywKZftCWYVfI .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-6STLywKZftCWYVfI .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-6STLywKZftCWYVfI .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-6STLywKZftCWYVfI .cluster text{fill:#333;}#mermaid-svg-6STLywKZftCWYVfI .cluster span{color:#333;}#mermaid-svg-6STLywKZftCWYVfI div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-6STLywKZftCWYVfI :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}是否是否矩形区域分割为16x16图块是否纯色?传输背景色分析子矩形使用掩码?传输TileMask颜色数据传输Raw像素数据7. 协议工作流程 #mermaid-svg-VG7Fd7W0t8dh06To {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-VG7Fd7W0t8dh06To .error-icon{fill:#552222;}#mermaid-svg-VG7Fd7W0t8dh06To .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-VG7Fd7W0t8dh06To .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-VG7Fd7W0t8dh06To .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-VG7Fd7W0t8dh06To .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-VG7Fd7W0t8dh06To .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-VG7Fd7W0t8dh06To .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-VG7Fd7W0t8dh06To .marker{fill:#333333;stroke:#333333;}#mermaid-svg-VG7Fd7W0t8dh06To .marker.cross{stroke:#333333;}#mermaid-svg-VG7Fd7W0t8dh06To svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-VG7Fd7W0t8dh06To .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-VG7Fd7W0t8dh06To text.actortspan{fill:black;stroke:none;}#mermaid-svg-VG7Fd7W0t8dh06To .actor-line{stroke:grey;}#mermaid-svg-VG7Fd7W0t8dh06To .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-VG7Fd7W0t8dh06To .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-VG7Fd7W0t8dh06To #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-VG7Fd7W0t8dh06To .sequenceNumber{fill:white;}#mermaid-svg-VG7Fd7W0t8dh06To #sequencenumber{fill:#333;}#mermaid-svg-VG7Fd7W0t8dh06To #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-VG7Fd7W0t8dh06To .messageText{fill:#333;stroke:#333;}#mermaid-svg-VG7Fd7W0t8dh06To .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-VG7Fd7W0t8dh06To .labelText,#mermaid-svg-VG7Fd7W0t8dh06To .labelTexttspan{fill:black;stroke:none;}#mermaid-svg-VG7Fd7W0t8dh06To .loopText,#mermaid-svg-VG7Fd7W0t8dh06To .loopTexttspan{fill:black;stroke:none;}#mermaid-svg-VG7Fd7W0t8dh06To .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-VG7Fd7W0t8dh06To .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-VG7Fd7W0t8dh06To .noteText,#mermaid-svg-VG7Fd7W0t8dh06To .noteTexttspan{fill:black;stroke:none;}#mermaid-svg-VG7Fd7W0t8dh06To .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-VG7Fd7W0t8dh06To .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-VG7Fd7W0t8dh06To .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-VG7Fd7W0t8dh06To .actorPopupMenu{position:absolute;}#mermaid-svg-VG7Fd7W0t8dh06To .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-VG7Fd7W0t8dh06To .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-VG7Fd7W0t8dh06To .actor-man circle,#mermaid-svg-VG7Fd7W0t8dh06To line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-VG7Fd7W0t8dh06To :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}ClientServerTCP Connect (端口5900)ProtocolVersionProtocolVersion SecurityTypeChallenge (16字节)DES加密响应SecurityResult (0表示成功)执行对应安全流程alt[安全类型VNC Auth][其他安全类型]ClientInit (shared-flag)ServerInit (分辨率像素格式)FramebufferUpdateRequestFramebufferUpdate (使用协商的编码)alt[屏幕有变化]PointerEvent/KeyEventClientCutTextServerCutTextalt[剪贴板变化]loop[主循环]ClientServer8. 安全性考虑 8.1 协议原生安全机制 VNC认证使用DES加密挑战响应已不安全无加密传输像素数据和输入事件明文传输 8.2 推荐安全实践 SSH隧道加密 ssh -L 5901:localhost:5900 userremote-server vncviewer localhost:5901扩展安全类型 TLS (安全类型 18)VeNCrypt (安全类型 19)SASL认证 网络层防护 防火墙限制访问IPVPN隧道保护 9. IANA注册表 RFB协议定义四类IANA注册表 9.1 安全类型注册部分 值名称描述0Invalid无效类型1None无认证2VNC AuthenticationVNC认证5RA2RSA-AES加密16TightTightVNC扩展18TLSTLS加密19VeNCryptVeNCrypt安全层 9.2 消息类型范围 方向范围说明客户端→服务器0-127RFC定义的核心消息客户端→服务器128-255供应商特定扩展消息服务器→客户端0-127RFC定义的核心消息服务器→客户端128-255供应商特定扩展消息 10. 实际应用与优化 10.1 性能优化策略 编码选择优先级 ZRLE Hextile RRE CopyRect Raw增量更新频率 静态内容降低请求频率动态内容增加请求频率 带宽自适应 高带宽高质量无损压缩低带宽降低颜色深度/分辨率 10.2 现代扩展实现 特性实现方式支持实现文件传输自定义消息类型(0x80)TightVNC, UltraVNC多显示器支持Xinerama扩展TigerVNC, RealVNC视频流优化H.264编码扩展TurboVNC触摸屏支持扩展PointerEventMobileVNC 11. 协议演进历史 版本发布时间主要改进3.31998初始公开版本3.72003安全类型列表协商3.82011RFC 6143标准化伪编码IANA注册3.9非标准供应商扩展(文件传输、加密改进等)最新实现参考 TigerVNCLibVNCRealVNC 附录ARFB协议状态机 #mermaid-svg-WOxuTHjRMPxVkME9 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-WOxuTHjRMPxVkME9 .error-icon{fill:#552222;}#mermaid-svg-WOxuTHjRMPxVkME9 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-WOxuTHjRMPxVkME9 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-WOxuTHjRMPxVkME9 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-WOxuTHjRMPxVkME9 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-WOxuTHjRMPxVkME9 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-WOxuTHjRMPxVkME9 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-WOxuTHjRMPxVkME9 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-WOxuTHjRMPxVkME9 .marker.cross{stroke:#333333;}#mermaid-svg-WOxuTHjRMPxVkME9 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-WOxuTHjRMPxVkME9 defs #statediagram-barbEnd{fill:#333333;stroke:#333333;}#mermaid-svg-WOxuTHjRMPxVkME9 g.stateGroup text{fill:#9370DB;stroke:none;font-size:10px;}#mermaid-svg-WOxuTHjRMPxVkME9 g.stateGroup text{fill:#333;stroke:none;font-size:10px;}#mermaid-svg-WOxuTHjRMPxVkME9 g.stateGroup .state-title{font-weight:bolder;fill:#131300;}#mermaid-svg-WOxuTHjRMPxVkME9 g.stateGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-WOxuTHjRMPxVkME9 g.stateGroup line{stroke:#333333;stroke-width:1;}#mermaid-svg-WOxuTHjRMPxVkME9 .transition{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-WOxuTHjRMPxVkME9 .stateGroup .composit{fill:white;border-bottom:1px;}#mermaid-svg-WOxuTHjRMPxVkME9 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}#mermaid-svg-WOxuTHjRMPxVkME9 .state-note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-WOxuTHjRMPxVkME9 .state-note text{fill:black;stroke:none;font-size:10px;}#mermaid-svg-WOxuTHjRMPxVkME9 .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-WOxuTHjRMPxVkME9 .edgeLabel .label rect{fill:#ECECFF;opacity:0.5;}#mermaid-svg-WOxuTHjRMPxVkME9 .edgeLabel .label text{fill:#333;}#mermaid-svg-WOxuTHjRMPxVkME9 .label div .edgeLabel{color:#333;}#mermaid-svg-WOxuTHjRMPxVkME9 .stateLabel text{fill:#131300;font-size:10px;font-weight:bold;}#mermaid-svg-WOxuTHjRMPxVkME9 .node circle.state-start{fill:#333333;stroke:#333333;}#mermaid-svg-WOxuTHjRMPxVkME9 .node .fork-join{fill:#333333;stroke:#333333;}#mermaid-svg-WOxuTHjRMPxVkME9 .node circle.state-end{fill:#9370DB;stroke:white;stroke-width:1.5;}#mermaid-svg-WOxuTHjRMPxVkME9 .end-state-inner{fill:white;stroke-width:1.5;}#mermaid-svg-WOxuTHjRMPxVkME9 .node rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-WOxuTHjRMPxVkME9 .node polygon{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-WOxuTHjRMPxVkME9 #statediagram-barbEnd{fill:#333333;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-cluster rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-WOxuTHjRMPxVkME9 .cluster-label,#mermaid-svg-WOxuTHjRMPxVkME9 .nodeLabel{color:#131300;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-cluster rect.outer{rx:5px;ry:5px;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-state .divider{stroke:#9370DB;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-state .title-state{rx:5px;ry:5px;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-cluster.statediagram-cluster .inner{fill:white;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#f0f0f0;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-cluster .inner{rx:0;ry:0;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-state rect.basic{rx:5px;ry:5px;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#f0f0f0;}#mermaid-svg-WOxuTHjRMPxVkME9 .note-edge{stroke-dasharray:5;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-note text{fill:black;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram-note .nodeLabel{color:black;}#mermaid-svg-WOxuTHjRMPxVkME9 .statediagram .edgeLabel{color:red;}#mermaid-svg-WOxuTHjRMPxVkME9 #dependencyStart,#mermaid-svg-WOxuTHjRMPxVkME9 #dependencyEnd{fill:#333333;stroke:#333333;stroke-width:1;}#mermaid-svg-WOxuTHjRMPxVkME9 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}TCP连接成功版本协商成功需要认证认证成功无认证认证失败初始化完成连接关闭DisconnectedVersionExchangeSecurityHandshakeAuthenticationInitializationRunning收到更新请求发送更新完成收到输入事件处理完成WaitRequestSendUpdateProcessInput附录B协议消息结构图 B.1 FramebufferUpdate 消息结构 0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 -------------------------------- | msg-type | padding | num-rectangles | -------------------------------- | rectangle 1 | | (variable) | -------------------------------- | rectangle ... | --------------------------------每个矩形区域结构 0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 -------------------------------- | x-pos | -------------------------------- | y-pos | -------------------------------- | width | -------------------------------- | height | -------------------------------- | encoding-type | pixel-data | | | (variable) | --------------------------------B.2 Hextile编码子矩形示例 #mermaid-svg-z0rgu1dsNuB5ZnOC {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-z0rgu1dsNuB5ZnOC .error-icon{fill:#552222;}#mermaid-svg-z0rgu1dsNuB5ZnOC .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-z0rgu1dsNuB5ZnOC .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-z0rgu1dsNuB5ZnOC .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-z0rgu1dsNuB5ZnOC .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-z0rgu1dsNuB5ZnOC .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-z0rgu1dsNuB5ZnOC .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-z0rgu1dsNuB5ZnOC .marker{fill:#333333;stroke:#333333;}#mermaid-svg-z0rgu1dsNuB5ZnOC .marker.cross{stroke:#333333;}#mermaid-svg-z0rgu1dsNuB5ZnOC svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-z0rgu1dsNuB5ZnOC .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-z0rgu1dsNuB5ZnOC .cluster-label text{fill:#333;}#mermaid-svg-z0rgu1dsNuB5ZnOC .cluster-label span{color:#333;}#mermaid-svg-z0rgu1dsNuB5ZnOC .label text,#mermaid-svg-z0rgu1dsNuB5ZnOC span{fill:#333;color:#333;}#mermaid-svg-z0rgu1dsNuB5ZnOC .node rect,#mermaid-svg-z0rgu1dsNuB5ZnOC .node circle,#mermaid-svg-z0rgu1dsNuB5ZnOC .node ellipse,#mermaid-svg-z0rgu1dsNuB5ZnOC .node polygon,#mermaid-svg-z0rgu1dsNuB5ZnOC .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-z0rgu1dsNuB5ZnOC .node .label{text-align:center;}#mermaid-svg-z0rgu1dsNuB5ZnOC .node.clickable{cursor:pointer;}#mermaid-svg-z0rgu1dsNuB5ZnOC .arrowheadPath{fill:#333333;}#mermaid-svg-z0rgu1dsNuB5ZnOC .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-z0rgu1dsNuB5ZnOC .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-z0rgu1dsNuB5ZnOC .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-z0rgu1dsNuB5ZnOC .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-z0rgu1dsNuB5ZnOC .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-z0rgu1dsNuB5ZnOC .cluster text{fill:#333;}#mermaid-svg-z0rgu1dsNuB5ZnOC .cluster span{color:#333;}#mermaid-svg-z0rgu1dsNuB5ZnOC div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-z0rgu1dsNuB5ZnOC :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}16x16图块背景色: 0xFFFFFF子矩形1: 颜色0x0000FF, x2,y2,w4,h4子矩形2: 颜色0xFF0000, x10,y8,w4,h6附录C协议数据流示例 C.1 典型通信过程 Client: 连接TCP端口5900 Server: RFB 003.008\n Client: RFB 003.008\n Server: [0x01 0x02] (支持None和VNC认证) Client: 选择0x02 (VNC认证) Server: [16字节随机数] Client: [DES加密的响应] Server: [0x00000000] (认证成功) Client: [0x01] (共享连接) Server: [1280x720][PixelFormat][My Desktop] Client: [SetPixelFormat][SetEncodings] Client: [FramebufferUpdateRequest] Server: [FramebufferUpdate (ZRLE编码)] Client: [PointerEvent (移动鼠标)] ... (持续交互)C.2 伪编码应用场景 #mermaid-svg-dTH1ItFpfOhxkT77 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-dTH1ItFpfOhxkT77 .error-icon{fill:#552222;}#mermaid-svg-dTH1ItFpfOhxkT77 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-dTH1ItFpfOhxkT77 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-dTH1ItFpfOhxkT77 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-dTH1ItFpfOhxkT77 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-dTH1ItFpfOhxkT77 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-dTH1ItFpfOhxkT77 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-dTH1ItFpfOhxkT77 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-dTH1ItFpfOhxkT77 .marker.cross{stroke:#333333;}#mermaid-svg-dTH1ItFpfOhxkT77 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-dTH1ItFpfOhxkT77 .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-dTH1ItFpfOhxkT77 text.actortspan{fill:black;stroke:none;}#mermaid-svg-dTH1ItFpfOhxkT77 .actor-line{stroke:grey;}#mermaid-svg-dTH1ItFpfOhxkT77 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-dTH1ItFpfOhxkT77 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-dTH1ItFpfOhxkT77 #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-dTH1ItFpfOhxkT77 .sequenceNumber{fill:white;}#mermaid-svg-dTH1ItFpfOhxkT77 #sequencenumber{fill:#333;}#mermaid-svg-dTH1ItFpfOhxkT77 #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-dTH1ItFpfOhxkT77 .messageText{fill:#333;stroke:#333;}#mermaid-svg-dTH1ItFpfOhxkT77 .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-dTH1ItFpfOhxkT77 .labelText,#mermaid-svg-dTH1ItFpfOhxkT77 .labelTexttspan{fill:black;stroke:none;}#mermaid-svg-dTH1ItFpfOhxkT77 .loopText,#mermaid-svg-dTH1ItFpfOhxkT77 .loopTexttspan{fill:black;stroke:none;}#mermaid-svg-dTH1ItFpfOhxkT77 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-dTH1ItFpfOhxkT77 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-dTH1ItFpfOhxkT77 .noteText,#mermaid-svg-dTH1ItFpfOhxkT77 .noteTexttspan{fill:black;stroke:none;}#mermaid-svg-dTH1ItFpfOhxkT77 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-dTH1ItFpfOhxkT77 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-dTH1ItFpfOhxkT77 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-dTH1ItFpfOhxkT77 .actorPopupMenu{position:absolute;}#mermaid-svg-dTH1ItFpfOhxkT77 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-dTH1ItFpfOhxkT77 .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-dTH1ItFpfOhxkT77 .actor-man circle,#mermaid-svg-dTH1ItFpfOhxkT77 line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-dTH1ItFpfOhxkT77 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}ClientServer用户改变分辨率FramebufferUpdate[DesktopSize伪编码][新分辨率:1920x1080]调整本地窗口大小FramebufferUpdateRequest(全屏)ClientServer
http://www.zqtcl.cn/news/738528/

相关文章:

  • 常见的网站首页布局有哪几种陈光锋网站运营推广新动向
  • 手机网站活动策划方案开一个设计公司
  • 宝塔建设网站教程visual studio 2010 网站开发教程
  • 做网站购买服务器做谷歌网站使用什么统计代码吗
  • 网站系统与网站源码的关系emlog轻松转wordpress
  • 网站的简介怎么在后台炒做吉林省住房城乡建设厅网站首页
  • 泉州易尔通网站建设国际酒店网站建设不好
  • 网页下载网站福田企业网站推广公司
  • 北京网站建设开发公司哪家好网站添加在线留言
  • 新建的网站怎么做seo优化平面广告创意设计
  • yy陪玩网站怎么做软件项目管理计划
  • 西安建网站价格低百度推广区域代理
  • 中英网站模板 照明公司注册在自贸区的利弊
  • 全球十大网站排名wordpress标题连接符
  • 网站开发可能遇到的问题四川建筑人才招聘网
  • 镇江网站托管怎么做淘宝网站赚钱吗
  • 交互式网站是什么知名vi设计企业
  • 上海个人做网站网站建设销售好做嘛
  • 邵阳建设网站哪家好手机网站栏目结构图
  • 做动车哪个网站查网站环境配置
  • 那些网站可以做h5国内新闻最新消息今天简短
  • asp网站开发实例河南省建设招投标网站
  • 营销型网站搭建公司有没有专做推广小说的网站
  • 汕头网站搭建wordpress文章列表摘要
  • 网站开发体会800字网站开发新功能
  • 网站域名查询ip杭州pc网站开发公司有哪些
  • 青岛公司网站设计网站后台编辑器内容不显示
  • vc6.0做网站wordpress调用会员等级
  • 哪个网站有做商标网站的类型是什么意思
  • 网站 主机网站内容段落之间有空格对seo有影响吗