`
darkranger
  • 浏览: 25501 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java通信

阅读更多
Java代码
import java.util.ArrayList;   
import java.util.List;   
import java.util.regex.Matcher;   
import java.util.regex.Pattern;   
  
import org.smslib.IOutboundMessageNotification;   
import org.smslib.OutboundMessage;   
import org.smslib.Service;   
import org.smslib.Message.MessageEncodings;   
import org.smslib.modem.SerialModemGateway;   
  
/**  
* 短信发送测试类  
* @author mazq  
*  
*/  
public class SMSUtil{   
public class OutboundNotification implements IOutboundMessageNotification   
{   
    public void process(String gatewayId, OutboundMessage msg)   
    {   
     System.out.println("Outbound handler called from Gateway: " + gatewayId);   
     System.out.println(msg);   
    }   
}   
public void sendSMS(String mobilePhones,String content){   
//  System.out.println(mobilePhones+"--"+content);   
     Service srv;   
     OutboundMessage msg;   
     OutboundNotification outboundNotification = new OutboundNotification();   
     srv = new Service();   
//     SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM1", 115200, "wavecom", "9600");   
     SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM1", 115200, "wavecom", "9600");   
     gateway.setInbound(true);   
     gateway.setOutbound(true);   
     gateway.setSimPin("0000");   
     gateway.setOutboundNotification(outboundNotification);   
     srv.addGateway(gateway);   
     System.out.println("初始化成功,准备开启服务");   
     try{   
      srv.startService();   
   System.out.println("服务启动成功");   
    String[] phones = mobilePhones.split(",");   
     for(int i=0;i<phones.length;i++){   
      msg = new OutboundMessage(phones[i], content);//手机号码,和短信内容   
      msg.setEncoding(MessageEncodings.ENCUCS2);//这句话是发中文短信必须的   
      srv.sendMessage(msg);   
      System.out.println(phones[i]+" == "+content);   
     }   
     srv.stopService();   
    }catch(Exception e){   
     e.printStackTrace();   
    }   
}   
public static void main(String[] args) {   
  SMSUtil util = new SMSUtil();   
  util.sendSMS("1355xxxxxxx","测试短信");   
}   
  

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.smslib.IOutboundMessageNotification;
import org.smslib.OutboundMessage;
import org.smslib.Service;
import org.smslib.Message.MessageEncodings;
import org.smslib.modem.SerialModemGateway;

/**
* 短信发送测试类
* @author mazq
*
*/
public class SMSUtil{
public class OutboundNotification implements IOutboundMessageNotification
{
    public void process(String gatewayId, OutboundMessage msg)
    {
     System.out.println("Outbound handler called from Gateway: " + gatewayId);
     System.out.println(msg);
    }
}
public void sendSMS(String mobilePhones,String content){
//  System.out.println(mobilePhones+"--"+content);
     Service srv;
     OutboundMessage msg;
     OutboundNotification outboundNotification = new OutboundNotification();
     srv = new Service();
//     SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM1", 115200, "wavecom", "9600");
     SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM1", 115200, "wavecom", "9600");
     gateway.setInbound(true);
     gateway.setOutbound(true);
     gateway.setSimPin("0000");
     gateway.setOutboundNotification(outboundNotification);
     srv.addGateway(gateway);
     System.out.println("初始化成功,准备开启服务");
     try{
      srv.startService();
   System.out.println("服务启动成功");
    String[] phones = mobilePhones.split(",");
     for(int i=0;i<phones.length;i++){
      msg = new OutboundMessage(phones[i], content);//手机号码,和短信内容
      msg.setEncoding(MessageEncodings.ENCUCS2);//这句话是发中文短信必须的
      srv.sendMessage(msg);
      System.out.println(phones[i]+" == "+content);
     }
     srv.stopService();
    }catch(Exception e){
     e.printStackTrace();
    }
}
public static void main(String[] args) {
  SMSUtil util = new SMSUtil();
  util.sendSMS("1355xxxxxxx","测试短信");
}

}

如果收到短信,则说明ok了

如果在日志中输出下面的内容,一般是说你的commons-net-1.4.1.jar或comm.jar没有配置到classpath中
org.smslib.GatewayException: Comm library exception: java.lang.reflect.InvocationTargetException
at org.smslib.modem.SerialModemDriver.connectPort(SerialModemDriver.java:93)
at org.smslib.modem.AModemDriver.connect(AModemDriver.java:106)
at org.smslib.modem.ModemGateway.startGateway(ModemGateway.java:111)
at org.smslib.Service$1Starter.run(Service.java:227)

分享到:
评论

相关推荐

    flex与java通信

    Flex与Java通信是Web开发中的一个重要领域,它允许前端用户界面(UI)通过富互联网应用程序(RIA)与后端服务器进行交互。Flex是Adobe开发的一种用于构建动态、交互性强的Web应用的开源框架,主要基于ActionScript...

    java通信学习-协议与加密

    在IT行业中,Java通信学习是开发者必须掌握的重要技能之一,特别是在构建分布式系统、网络应用或者进行数据传输时。本篇文章将聚焦于“协议与加密”这两个核心概念,它们是Java通信中的基石。以下是对这两个主题的...

    java通信程序参考

    Java通信程序设计主要涉及到网络编程的基本概念和技术,其中Socket是核心工具。Socket在Java中扮演着客户端和服务器之间通信的桥梁角色,它允许两台计算机通过Internet或局域网进行数据交换。在这个作业中,我们将...

    java读写Modbus RTU数据,java串口modbus通信,Modbus RTU与java通信 全开源

    最近在研究处理java写modbus RTU通信,分别使用几套工具,模拟modbus从站、模拟串口等才能正常在电脑测试成功。 全开源,放心下载 可以查看运行内容https://blog.csdn.net/weijia3624/article/details/121216539

    flex与java通信的完整demo

    Flex与Java通信是Web开发中的一个重要技术组合,它允许用户在浏览器端利用Flash的富互联网应用(RIA)特性,通过ActionScript与服务器端的Java应用程序进行数据交互。本压缩包包含了一个完整的Flex与Java通信的示例...

    java通信参考程序

    "java通信参考程序"是一个专为学习和理解Java通信机制而设计的实验项目。这个实验程序旨在帮助初学者和开发者了解如何在Java环境中实现不同节点之间的数据交换,这对于构建分布式系统、网络服务或客户端应用至关重要...

    最简单的BlazeDS实现flex与java通信.rtf

    最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的...

    flash+java通信例子

    本示例“Flash+Java通信例子”聚焦于如何利用Adobe Flash与Java应用程序之间进行数据交互。这两种技术结合,可以为用户提供丰富的交互式Web体验,特别是在多媒体、游戏和动态内容展示方面。 Flash是一款广泛应用于...

    java读写Modbus TCP UDP数据,java与modbus通信,Modbus TCP UDP与java通信 全开源

    java读写Modbus TCP UDP数据,java与modbus通信,Modbus TCP UDP与java通信 全开源 这是一个能正常通过Modbus TCP UDP协议读写项目 请放心下载,完全开源,在多个项目中已经使用

    Flex Java通信实例

    Flex Java通信实例主要探讨的是如何在Adobe Flex前端应用与Java后端服务器之间建立通信机制,以便实现数据交换和功能交互。Flex是一种开放源代码的框架,用于构建具有丰富用户界面的Web应用程序,而Java作为多平台...

    flex3 java 通信

    5. **Flash Remoting**:虽然不是Flex3与Java通信的首选方式,但Flash Remoting(通过NetConnection和NetStream类)仍然可用于与服务器端进行实时数据交换,不过它通常用于Flash Player而不是Flex。 6. **Security*...

    java通信代码大全

    Java通信代码大全主要涵盖的是如何在Java环境中实现各种网络通信技术。这涉及到一系列的技术和概念,包括TCP/IP协议、套接字编程、多线程、数据序列化等。以下是关于这些知识点的详细说明: 1. **TCP/IP协议**:TCP...

    JAVA通信协议框架Darks Codec 1.0.3

    它支持将JAVA对象与绝大部分基于字节的消息协议之间进行互相转换,以此协助开发人员便捷有效的快速构建消息协议,并为粘包、断包等问题提供了有效的解决方案。它能让开发人员从消息协议的实现中解脱出来,让其更多的...

    UnSigCom.rar_JAVA 通信_java 加密

    1. **Java通信**:Java提供了多种方式进行通信,包括但不限于RMI(远程方法调用)、JMS(Java消息服务)、Socket编程以及NIO(非阻塞I/O)。在给定的描述中,提到了“基于java的认证程序”,这可能涉及到使用Socket...

    Flex与Java实现通信

    #### 四、使用BlazeDS进行Flex与Java通信 完成上述步骤后,就可以开始使用BlazeDS进行Flex与Java之间的通信了。具体的通信流程包括: 1. **定义服务接口**:在Java中定义一个服务接口,该接口将被Flex应用程序调用...

    Flex与java通信源码

    Flex与Java通信是Web开发中的一个重要技术领域,它允许用户在浏览器端通过Flex客户端与后端Java服务器进行数据交互,实现动态、富交互性的应用程序。本源码可能包含了一个示例项目,展示了如何使用Flex与Java进行...

Global site tag (gtag.js) - Google Analytics