Java ME中的二进制消息有多可靠?

3
我需要为Java ME平台开发一个移动应用程序,该应用程序发送包含二进制数据的短信。但是,该应用程序需要使用自定义端口来发送这些消息(以便它可以注册自己并自动接收这些消息,而不是使用手机的标准消息系统)。
我的问题是:
1)在全球范围内,是否广泛支持发送到自定义端口的BinaryMessages?或者这只是一些电信运营商才能使用的“奢侈品”?
2)当普通的TextMessages超过单个消息的限制时,它们往往会被分成多个部分。 BinaryMessages是否也会以同样的方式处理,并且如果是,我该如何解决这个问题(分段)?显然,部分消息将无法完成工作,理想情况下,当所有部分都接收到时,我希望获得完整的消息。这是否取决于运营商网络?
我意识到我可以测试这个,但我不能在许多电信公司上运行测试,只能在我(小)国家的电信公司上运行测试,这对于是否应该开发此应用程序非常重要。
我尝试自己寻找答案,但失败了。如果这些是琐碎的问题,我很抱歉,谢谢您的时间。

如果那位点踩者能够澄清他认为问题出在哪里,我将不胜感激。我认为我的问题通常属于“实际可行、基于你所面临的现实问题”的范畴,但是无论是批评还是改进建议都是受欢迎的。 - K.Steff
1个回答

2

我认为这个问题没有任何问题。不过我只能提供一个半答案。

确实,选择是否保持所有端口开放取决于各个网络提供商。因此,您不能假设始终可以发送/接收文本消息或二进制消息。 然而,很久以前,另一位JavaME开发人员告诉我,关闭端口非常不寻常。(难道不是许多其他协议(如套接字和http)使用相同的端口吗?如果是,那么它们肯定总是开放的。关闭它们没有任何意义)。

如果我是你,我会添加一些代码来检查消息是否已发送,如果失败,则向用户输出一些错误消息。 (如果可能,还可以调用某个URL作为向您报告错误的方式)。

至于分解的消息,这是一个好问题。我不知道。我会进行一些真实设备测试以找出答案。


谢谢,mr_lou。作为对你回答的补充,我想说我已经通过自动将消息类型切换为MMS来处理分段问题,当长度不适合单个SMS时。 - K.Steff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接