2011-09-02 34 views
2

我正在开发一个使用Java的消息传递服务(P2P)的移动应用程序我仍处于早期阶段,正在寻找最适合此类应用程序的协议。正如我所发现的。套接字编程优于Web服务。因为您知道它不需要为发送的消息添加额外的数据(开销),因此成本会更低。用于移动消息服务的TCP或UDP?

除了插座& HTTP还有第三种选择吗?

是套接字是选择什么是最好的使用TCP或UDP?

的问题是开放的任何其他选项,不仅什么是这里提到 并感谢您提前

回答

1

HTTP和TCP/UDP驻留在通信系统模型的不同层(两个最受欢迎的是OSI模型和TCP/IP模型)。 HTTP建立在套接字之上(这就是为什么会有额外的开销),所以在技术上 - 它们不是不同的解决方案。

使用HTTP将为您提供使用大量库,文档和示例的优势,同时编写自己的自定义协议可能需要更多时间和精力,但可能会更轻。

如果你选择原始套接字...我不能告诉你是否应该使用TCP或UDP - 这取决于很多因素,但基本的区别在于,如果有TCP连接将保证成功交付可用的连接或错误消息,如果不是,UDP只是发送数据而不关心它是否到达那里(例如,对于流式直播视频,没有必要确保每一位数据都被传输,如1秒后来它不再相关)。

没有正确或错误的答案 - 您只需要考虑所有涉及的因素并仔细设计整个过程。

+0

事实上,我知道所有这一切:),我想建立一个便宜的服务,所以我必须直接使用套接字编程,因为它的成本低于http。顺便说一句,谢谢 – Adham