有没有开源的桌面共享协议?如果有,是什么?有人能告诉我为了实现一个协议我应该知道什么吗?例如,如果我想写一个桌面共享协议,我需要知道什么以及从哪里开始。(首选语言Java,C++和C#)
谢谢!!
发布于 2010-11-17 17:19:27
RFB是VNC应用程序中使用的协议,它是一个开放的规范。
协议只是一种网络应用程序“同意”使用的语言。也就是说,因为连接的两端使用相同的语言(即它们知道通信中的字节表示什么),所以它们能够相互发送有意义的信息并解释它们接收到的信息。
因此,在实现协议之前,您应该做的第一件事就是学习和理解它。通常(而且总是在开放规范的情况下)会有一个文档来解释协议和所有的细节。例如,可以在here中找到RFB协议的规范。
阅读它并实现一个可以理解RFB的程序,您就已经创建了一个RFB实现。
至于首选语言位:协议没有规定协议是用什么语言实现的,只规定了通信的方式,所以你可以用任何你想要的语言来实现它。
发布于 2010-11-17 17:17:14
VNC协议(*)有许多开源实现,实际上Microsoft RDP协议也有一些开源实现。
协议实际上不能是“开源”的--它们可以是“开源”的,就像“规范是免费公开的”,它们可以是“开源兼容的”,比如“如果你在一个开源程序中实现协议,我们就不能确定你的附加内容”,但通常“开源”意味着你可以改变源代码,改变一个协议并不是真正有益的,因为这样你就不能互操作了,对吧?
对于Microsoft RDP开放源码客户端,可以看看rdesktop,xrdp项目在X11显示协议之上实现了服务器端。VNC的实现数不胜数,但对于初学者来说,您可能想要看看tightvnc或realvnc。
(*)正如Paul Ruane所指出的,RFB实际上是VNC兼容客户端中使用的协议,VNC是原始软件套件的名称,也用作实现RFB并采用与原始VNC客户端相同的网络语义的软件的通用术语。
https://stackoverflow.com/questions/4202937
复制相似问题