用java实现短信收发的功能,目前一般项目中短信群发功能的实现方法大致有下面三种:1、向运行商申请短信网关,不需要额外的设备,利用运行商提供的API调用程序发送短信,适用于大型的通信公司。2、借助像GSMMODEM短信猫之类的设备深圳市亿纬信息技术http://www.evemsc.com/(,通过数据线连接电脑来发送短信,这种方法比较适用于小公司及个人。要实现这种方式必须理解串口通信、AT指令、短信编码、解码。3、借助第三方运行的网站实现,由网站代发短信数据,这种方法对网站依赖性太高,对网络的要求也比较高。有关Java串口通信需要补充说明:window系统可以用SUNJavaCommv2.(该版本好像也支持solaris)其下载地址:http://smslib.googlecode.com/files/javacomm20-win32.zip其他操作系统(比如:Linux,Unix,BSD,等等),你可以选择JavaCommv3或者是RxTx。JavaCommv3下载地址:http://java.sun.com/products/javacomm/(需要注册);RxTx官网:http://users.frii.com/jarvi/rxtx/index.htmlor---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---http://rxtx.qbang.org/wiki/index.php/Main_Page1.slf4j-api-1.5.2.jarslf4j-api-1.5.2-sources.jarslf4j-nop-1.5.2.jarcomm.jarsmsserver-3.4.1.jarsmslib-3.4.1.jar将上述6个jar包拷贝到lib下2.在Windows环境下使用SMSLib编程的时候,我们需要做一下comm的配置:1.将win32com.dll放置在%JAVA_HOME%/jre/bin下2.将comm.jar放置在%JAVA_HOME%/jre/lib/ext下3.将javax.comm.properties放置在%JAVA_HOME%/jar/lib下再试试SMSLib自带的examples,看看效果。3.pci接口安装drive程序测试用例:Java代码1.packageexamples.modem;2.3.importorg.smslib.IOutboundMessageNotification;4.importorg.smslib.Library;5.importorg.smslib.OutboundMessage;6.importorg.smslib.Service;7.importorg.smslib.modem.SerialModemGateway;8.9.publicclassSendMessage10.{11.publicvoiddoIt()throwsException12.{13.Servicesrv;14.OutboundMessagemsg;15.OutboundNotificationoutboundNotification=newOutboundNotification();16.System.out.println("Example:Sendmessagefromaserialgsmmodem.");17.System.out.println(Library.getLibraryDescription());18.System.out.println("Version:"+Library.getLibraryVersion());---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---19.srv=newService();20.SerialModemGatewaygateway=newSerialModemGateway("modem.com1","COM1",57600,"Nokia","6310i");21.gateway.setInbound(true);22.gateway.setOutbound(true);23.gateway.setSimPin("0000");24.srv.setOutboundNotification(outboundNotification);25.srv.addGateway(gateway);26.srv.startService();27.System.out.println();28.System.out.println("ModemInformation:");29.System.out.println("Manufacturer:"+gateway.getManufacturer());30.System.out.println("Model:"+gateway.getModel());31.System.out.println("SerialNo:"+gateway.getSerialNo());32.System.out.println("SIMIMSI:"+gateway.getImsi());33.System.out.println("SignalLevel:"+gateway.getSignalLevel()+"%");34.System.out.println("BatteryLevel:"+gateway.getBatteryLevel()+"%");35.System.out.println();36.//Sendamessagesynchronously.37.msg=newOutboundMessage("+306948494037","HellofromSMSLib!");38.srv.sendMessage(msg);39.System.out.println(msg);40.//Or,sendoutaWAPSImessage.41.//OutboundWapSIMessagewapMsg=newOutboundWapSIMessage("+306948494037",newURL("https://mail.google.com/"),"VisitGMailnow!");42.//srv.sendMessage(wapMsg);43.//System.out.println(wapMsg);44.//Youcanalsoqueuesomeasynchronousmessagestoseehowthecallbacks45.//arecalled...46.//msg=newOutboundMessage("+309999999999","Wrongnumber!");47.//msg.setPriority(OutboundMessage.Priorities.LOW);48.//srv.queueMessage(msg,gateway.getGatewayId());49.//msg=newOutboundMessage("+308888888888","Wrongnumber!");50.//msg.setPriority(OutboundMessage.Priorities.HIGH);51.//srv.queueMessage(msg,gateway.getGatewayId());52.System.out.println("NowSleeping-Hittoterminate.");53.System.in.read();54.srv.stopService();55.}56.---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---57.publicclassOutboundNotificationimplementsIOutboundMessageNotification58.{59.publicvoidprocess(StringgatewayId,OutboundMessagemsg)60.{61.System.out.println("OutboundhandlercalledfromGateway:"+gatewayId);62.System.out.println(msg);63.}64.}65.66.publicstaticvoidmain(Stringargs[])67.{68.SendMessageapp=newSendMessage();69.try70.{71.app.doIt();72.}73.catch(Exceptione)74.{75.e.printStackTrace();76.}77.}78.}---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---