如何实现协议

问题描述 投票:0回答:2

有没有开源的桌面共享协议?如果有,它们是什么?谁能告诉我为了实现一个协议我需要知道的事情,例如,如果我想编写一个桌面共享协议,我需要知道什么以及我应该从哪里开始。(首选语言 Java、C++ 和 C#)

谢谢!!

c# java c++ protocols
2个回答
4
投票

RFB是VNC应用程序中使用的协议,它是一个开放规范。

协议只是网络应用程序“同意”使用的一种语言。也就是说,因为连接的两端都使用相同的语言(意味着它们知道字节在通信中的含义),所以它们能够向彼此发送有意义的信息并解释接收到的信息。

因此,在实现协议之前你应该做的第一件事就是学习和理解它。通常(并且总是在开放规范的情况下)会有一个文档来解释协议以及所有的细节。例如,RFB 协议的规范可以在这里找到。

阅读它并实现一个可以理解 RFB 的程序,您将创建一个 RFB 实现。

至于首选语言位:协议并不规定协议以什么语言实现,而只是规定了通信的方式,因此您可以用任何您想要的语言来实现。


2
投票

VNC 协议(*) 有很多开源实现,实际上 Microsoft RDP 协议也有一些开源实现。

协议实际上不能是“开源”的 - 它们可以是“开放的”,如“规范免费公开”,并且它们可以是“开源兼容的”,如“如果您在开源程序中实现协议,我们不会起诉你的 a$$ off”,但通常“开源”意味着你可以更改源代码,而更改协议并不会真正带来好处,因为这样你就无法进行互操作,对吗?

对于 Microsoft RDP 开源客户端,请查看 rdesktopxrdp 项目正在 X11 显示协议之上实现服务器端。 VNC 实现非常多,但对于初学者,您可能需要查看 tightvncrealvnc

(*) 实际上 RFB 是 VNC 兼容客户端中使用的协议,正如 Paul Ruane 所指出的,VNC 是原始软件套件的名称,也用作实现 RFB 并采用相同网络的软件的通用术语语义与原始 VNC 客户端相同。

© www.soinside.com 2019 - 2024. All rights reserved.