如何实现协议

发布于 2024-10-02 12:24:34 字数 120 浏览 0 评论 0原文

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

谢谢!!

are there any open source desktop sharing protocols? if so, what are they? can anybody tell me the things i would know in order to implement a protocol e.g if i want to write a desktop sharing protocol what are the things i need to know and from where i should begin.(preferred languages Java, C++ and C#)

Thanks !!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

仄言 2024-10-09 12:24:34

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

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

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

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

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

RFB is the protocol used in VNC applications, and it is an open specification.

A protocol is just a language that networked applications 'agree' to speak. That is to say, because both ends of the connection are speaking the same language (meaning they know what bytes mean what in the communication) they are capable of sending meaningful information to one another and interpreting the information they receive.

Therefore, the first thing you should do before implementing a protocol is to learn and understand it. Often (and always in the case of open specifications) there will be a document that explains the protocol and all the ins and outs. For example, the specification for the RFB protocol can be found here.

Read it and implement a program that can understand RFB and you will have created an RFB implementation.

As for the preferred language bit: a protocol doesn't stipulate what language the protocol is implemented in, just the way that communication takes place, so you can implement it in whatever language you wish.

梦魇绽荼蘼 2024-10-09 12:24:34

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

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

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

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

The VNC protocol(*) has many open source implementations, and actually the Microsoft RDP protocol has also a few open source implementations.

Protocols cannot be "open source" actually - they can be "open" as in "the specifications are publicly available for free" and they can be "open source compatible" as in "if you implement the protocol in an open source program we won't sue your a$$ off", but usually "open source" means that you can change the source and changing a protocol would not really be beneficial because you then won't be able to inter-operate, right?

For a Microsoft RDP open source client look at rdesktop and the xrdp project is implementing the server side on top of the X11 display protocol. VNC implementations are a dime a dozen, but for starters you might want to look at tightvnc or realvnc

(*) Actually RFB is the protocol used in VNC compatible clients, as noted by Paul Ruane, and VNC is the name of the original software suite and is also used as the generic term for a software that implements RFB and employs the same networking semantics as the original VNC client.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文