首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现协议

如何实现协议
EN

Stack Overflow用户
提问于 2010-11-17 17:10:17
回答 2查看 2.7K关注 0票数 2

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

谢谢!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-17 17:19:27

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

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

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

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

至于首选语言位:协议没有规定协议是用什么语言实现的,只规定了通信的方式,所以你可以用任何你想要的语言来实现它。

票数 3
EN

Stack Overflow用户

发布于 2010-11-17 17:17:14

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

协议实际上不能是“开源”的--它们可以是“开源”的,就像“规范是免费公开的”,它们可以是“开源兼容的”,比如“如果你在一个开源程序中实现协议,我们就不能确定你的附加内容”,但通常“开源”意味着你可以改变源代码,改变一个协议并不是真正有益的,因为这样你就不能互操作了,对吧?

对于Microsoft RDP开放源码客户端,可以看看rdesktopxrdp项目在X11显示协议之上实现了服务器端。VNC的实现数不胜数,但对于初学者来说,您可能想要看看tightvncrealvnc

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4202937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档