java - 从 Java 连接到 CDMA 网络 IN

标签 java networking sms vpn

我正在使用 java 开发接收和处理 SMS 消息的程序。我已经能够对接收到的 SMS 消息的处理进行编码并使其完美运行。现在我面临的挑战是从 CDMA 网络接收 SMS 消息。当应用程序即将上线时,CDMA 网络将建立一个 VPN 连接,这将使我的应用程序能够连接到它的 IN 或它的 IN 连接到我的应用程序以通过 VPN 将 SMS 消息传递到我的应用程序。现在,SMS 将以什么格式发送到应用程序?还是我只需要在 VPN 上收听并在数据可用时读取数据?非常感谢您的宝贵时间。

谢谢。

最佳答案

我假设 IN 你的意思是 Intelligent Network ?通常 IN 与发送/接收 SMS 消息无关 - 您需要连接到 Short Message Service Center (SMSC)(或一些代理/网关)来做到这一点。

正如 Bombe 还指出的那样,您可以使用多种协议(protocol)连接到移动运营商 SMSC,由于历史原因,它们都是特定于供应商的。常见协议(protocol)有:

  • > SMPP (最受欢迎,成为事实上的标准)。有两个 SMPP java 库:
    • > SMPP API at SourceForge - 非常稳定和成熟的库,我个人在几个项目中使用过它,可以推荐它。
    • > Logica OpenSMPP - 来自开发 SMPP 规范的公司的库。我从未使用过它,所以我无法评论它的成熟度或稳定性。
  • > UCP ( specification ) - 相当古老的标准。我不知道该协议(protocol)有任何开放的 Java 库。但是,由于它全部基于 ASCII,因此您自己实现起来相当容易(只要您喜欢弄乱字节 :-))。
  • > CIMD2 - 与诺基亚 SMSC 通信的规范。它正在成为传统,因为我听说较新的诺基亚 SMSC 版本也支持 SMPP。也没有已知的开放 Java 库。
  • 最后,实现了数以百万计的自定义协议(protocol),使第 3 方开发人员“更容易”连接到 SMSC。这些通常基于 HTTP 和 XML(SOAP,如果幸运的话)。

总而言之,协议(protocol)的选择不是您的选择。它通常由 SMSC 供应商或移动运营商决定(如果他们开发了某种“代理/网关”,以保护他们的 SMSC 免受外部开发人员可能犯的潜在编程错误)。

附言如果你不局限于java,你也可以看看Kannel - the Open Source WAP and SMS gateway .我自己没有使用过它,但据我所知,它们应该涵盖所有主要协议(protocol)。

关于java - 从 Java 连接到 CDMA 网络 IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/628880/

相关文章:

java - 如何在没有任何映射器的情况下使用 Spring Batch 读取完整的行

java - 正则表达式匹配整个单词或运算符

java - IntelliJ 想法 : Maven compilation warning about supported annotation processor source version 'RELEASE_6' on Java 11

ios - 无需越狱即可检测传入的短信或 iMessage

java - Swing - 在应用程序中滚动时允许 JButton 始终停留在页面上

java - 如何运行两个监听两个不同端口的java套接字服务器实例?

c++ - 多个应用程序如何使用同一个网络端口?

sql-server - 无法连接到 Azure 网络中的 SQL

通过互联网的短信通信

ios - 我需要苹果 MFI 程序才能通过 USB 电缆访问 IOS 设备的短信吗?