Network programming RFB参考实现?

Network programming RFB参考实现?,network-programming,rfb-protocol,Network Programming,Rfb Protocol,我正在写一个RFB服务器。我想知道是否有人知道RFB参考客户 目前,我运行RealVNC并要求它连接到我的RFB服务器,它工作正常。然而,RealVNC旨在提供良好的最终用户体验。它并不打算测试协议功能的所有可能有效组合。所以我知道RealVNC使用的特性实现正确,但我不知道RealVNC不使用的特性是否工作正常。但如果我能查一查,那就真的很有用了 有什么建议吗 (当然,我也可以编写自己的RFB客户端。但这并不能真正证明什么。如果某个客户端不工作,我无法判断是客户端还是服务器坏了。如果一切正常,

我正在写一个RFB服务器。我想知道是否有人知道RFB参考客户

目前,我运行RealVNC并要求它连接到我的RFB服务器,它工作正常。然而,RealVNC旨在提供良好的最终用户体验。它并不打算测试协议功能的所有可能有效组合。所以我知道RealVNC使用的特性实现正确,但我不知道RealVNC不使用的特性是否工作正常。但如果我能查一查,那就真的很有用了

有什么建议吗


(当然,我也可以编写自己的RFB客户端。但这并不能真正证明什么。如果某个客户端不工作,我无法判断是客户端还是服务器坏了。如果一切正常,这仍然不意味着两端都正确地实现了RFB,只是彼此都有相同的bug。)

这可能会对你有所帮助。我使用TCP/IPBuilder将各种hexcode消息(指针事件、键事件、剪切文本)存储在文本文件中。现在,我用我的rfb/vnc服务器连接tcp/ip构建器

您编写的RFB服务器现在将像任何RFB客户端一样响应此TCP/IP构建器,您现在可以验证每个场景(不完整的负载、错误的消息编号、额外的负载、消息顺序错误等)

如果您的服务器没有,请确保选择“解析Ascii”选项 连接到您的服务器后,用rfb版本号信息进行响应 服务器

为了生成初始消息,您可以记录wireshark日志,以便在rfb服务器和real vnc之间成功进行适当的rfb会话,然后使用这些消息使用TCP/IP builder测试rfb服务器

RFB版本信息可以像“RFB 003.008”这样发送,但是 对于消息的其余部分,您必须使用十六进制符号,如 可以看到网络日志(pcap/wireshark)

示例:这是如何将帧缓冲区请求消息发送到 服务器(对于800 x 480非增量)

0x030x000x000x000x000x000x030x200x010xe0