首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >现有事件驱动网络协议

现有事件驱动网络协议
EN

Stack Overflow用户
提问于 2013-06-12 18:25:42
回答 1查看 249关注 0票数 1

我正在构建一组由多个客户端和一个服务器组成的程序。

客户端经常向服务器推送小数据包,这将验证信息(如果数据无效返回错误),并处理接收到的信息。然后,该信息可能引发事件,客户端将被订阅,允许客户立即(或尽可能接近)被通知(以及少量数据)。

我对如何做到这一点有一些想法,但我试图避免创建自己的协议,主要是因为我确信这将花费很长时间,而且我可能会犯一些错误。因此,我想知道是否有任何现有的协议,我可以实现到我的系统,以提供这样的功能。

客户最初的数量将非常小,但随着时间的推移,可能会包括1000个客户端(有自己的订阅),以及几个前端服务器(每个服务器处理一个订阅子集),并与后端服务器来回解析信息,以提高性能。

所以,如果有人知道任何实现这些需求和功能的现有协议,那就太棒了。

编辑

我目前正在研究XMPP协议和JXTA协议套件(以供参考,并使用另一种语言实现)。两者似乎都很好,并提供了必要的连接,但我还没有机会在我的环境中测试其中的每一个,或者它们是否适合我正在尝试的内容。

此外,一些网络客户端将在本地网络之外并通过广域网进行操作。安全性并不是什么问题,但我需要考虑到延迟时间的增加,以及防火墙规则(对于承载应用程序的连接和ISP防火墙)可能阻塞某些端口或传输协议的防火墙规则(我已经读过一些文本,其中说有些ISP会阻塞UDP数据包,但不确定这会有多大。我可以在家里、办公室、手机、朋友家等地方做这件事,但还没有亲身体验过)。

EN

回答 1

Stack Overflow用户

发布于 2013-06-13 11:08:28

我很抱歉,如果以下不是你想要的,但我对你使用‘协议’这个词感到有点困惑。我理解一个协议只是一个“通信规范”,它的实现完全由你来完成。如果是这样的话,我总是发现下面的图形有用,链接

另一方面,如果您正在寻找一种解决方案,该解决方案允许您轻松地实现应用程序的网络方面,这有助于节省时间,然后签出以下网络库,它们实现了自己的自定义协议:

  1. NetworkComms.Net
  2. 利德格伦
  3. ZeroMQ

免责声明:我是NetworkComms.Net的开发人员

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

https://stackoverflow.com/questions/17072634

复制
相关文章

相似问题

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