热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java通过串口使用短信猫发送短信(AT指令应用)

本文介绍了两种使用Java发送短信的方法:利用第三方平台的HTTP请求和通过硬件设备短信猫。重点讲解了如何通过Java代码配置和使用短信猫发送短信的过程,包括必要的编码转换、串口操作及短信发送的核心逻辑。

本文探讨了两种在Java应用程序中实现短信发送的技术方案,并深入解析了使用短信猫通过串口发送短信的具体实现。


1. 通过第三方平台的HTTP请求发送短信,这种方式的优点在于接口简洁、易于集成且支持高效并发发送。然而,这种方法依赖于第三方服务提供商,存在服务不稳定或停止运营的风险,可能导致原有代码失效。


2. 利用硬件设备——短信猫,如深圳宏电的H6221GPRS模块。这种方式虽然初期投入较高,但提供了稳定的短信发送解决方案,不受第三方平台影响。然而,它需要物理硬件的支持,单次发送成本与普通短信相同,且每台设备同一时间只能处理一条短信。


下面是使用短信猫发送短信的Java代码示例:


首先,需要准备相关库文件并导入项目中。


1. 字符编码转换工具类,用于处理短信内容的编码转换:


package sms;

/**
* 提供短信内容的字符编码转换功能
*/
public class StringUtil {
public static String analyseStr(String str) {...}
public static String Unicode2GBK(String str) {...}
public static String GBK2Unicode(String str) {...}
public static boolean isNeedConvert(char para) {...}
public static final String encodeHex(String str) {...}
}

2. 串口通信类,负责与短信猫的串口交互:


package sms;

import javax.comm.*;

public class Port {
private CommPortIdentifier portId;
private SerialPort serialPort;
private OutputStreamWriter out;
private InputStreamReader in;
private String COMname;

public Port(String portName) {...}
public static String getrechargeablePassword() {...}
public void close() {...}
public void writeln(String s) throws Exception {...}
public String read() throws Exception {...}
public String sendAT(String atcommand) throws RemoteException {...}
}

3. 短信实体类,定义了短信的基本属性:


package sms;

public class CommonSms {
private String smstext;
private String sender;
private String recver;
private String state;

// Getters and Setters
}

4. 短信发送核心逻辑:


package sms;

public class Sms {
private CommonSms commonsms;
private boolean SendSms(Port myport) {...}
private boolean setMessageMode(Port myport, int op) {...}
private static void send(String phone, String countstring, String com) {...}
public static synchronized void sendSms(String phone, String str, String com) {...}
private void setCommonsms(CommonSms commonsms) {...}
public static List getComPort() {...}
}

5. 测试类,用于验证短信发送功能:


package sms;

public class Test {
public static void main(String[] args) {
Sms.sendSms("13311220311", "测试短信内容", "COM6");
}
}


推荐阅读
  • 2017-2018年度《网络编程与安全》第五次实验报告
    本报告详细记录了2017-2018学年《网络编程与安全》课程第五次实验的具体内容、实验过程、遇到的问题及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本教程涵盖OpenGL基础操作及直线光栅化技术,包括点的绘制、简单图形绘制、直线绘制以及DDA和中点画线算法。通过逐步实践,帮助读者掌握OpenGL的基本使用方法。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 深入解析Nginx中的Location指令及其属性
    本文将详细探讨Nginx配置文件中关键的location指令,包括其三种匹配方式(精准匹配、普通匹配和正则匹配),以及如何在实际应用中灵活运用这些匹配规则。此外,还将介绍location下的重要子元素如root、alias和proxy_pass,并解释相关参数的使用方法。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 本文详细介绍了流编辑器sed中的G、H、g、h命令,探讨了它们的工作原理及应用场景。通过实例解析和图解分析,帮助读者掌握这些高级命令的使用方法。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 本文探讨如何利用Java反射技术来模拟Webwork框架中的URL解析过程。通过这一实践,读者可以更好地理解Webwork及其后续版本Struts2的工作原理,尤其是它们在MVC架构下的角色。 ... [详细]
author-avatar
哪来的咸鱼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有