- 浏览: 32569 次
- 性别:
- 来自: 湖南
文章分类
最新评论
一、关键代码:
private synchronized void sendSMS(List list, String isDone)throws Exception{ for(int i=0;i<list.size();i++){ String[] oneSMS = (String[])list.get(i); if(oneSMS.length == 3){ String rcvMobile[] = new String[1]; rcvMobile[0] = oneSMS[1]; String sm = oneSMS[2].trim(); int returnInt = -1; if(sm.length()<=70){ returnInt = send(getShortSubmitMessage(sm.getBytes("UnicodeBigUnmarked"), rcvMobile)); }else{ returnInt = sendLongMessage(rcvMobile, sm); //发送长短信 } if(returnInt==0){ database.updateSMS(oneSMS[0],String.valueOf(returnInt),"1"); }else{ database.updateSMS(oneSMS[0],String.valueOf(returnInt),isDone); } } } } public int send(CMPPSubmitMessage msg) { int returnInt=11; if(msg == null) returnInt= 10; CMPPSubmitRepMessage reportMsg = null; try { reportMsg = (CMPPSubmitRepMessage)super.send(msg); returnInt=reportMsg.getResult(); } catch(IOException ex) { System.err.println(ex.toString()); ex.printStackTrace(); returnInt=11; } return returnInt; }private int sendLongMessage(String[] mobiles, String contentMessage){ int result = 0; try{ List msgList = divideMessage(contentMessage); int msgCount = msgList.size(); byte[] tp_udhiHead = new byte[6]; tp_udhiHead[0]=0x05; tp_udhiHead[1]=0x00; tp_udhiHead[2]=0x03; tp_udhiHead[3]=0x0A; tp_udhiHead[4]=(byte)msgCount; tp_udhiHead[5]=0x01; for(int i=0;i<msgCount;i++){ String msg = (String)msgList.get(i); tp_udhiHead[5]=(byte)(i+1); byte[] msgContent = byteAdd(tp_udhiHead, msg.getBytes("UnicodeBigUnmarked")); CMPPSubmitMessage cmppSubmitMessage = new CMPPSubmitMessage( msgCount, (i+1), registered_Delivery, msg_Level, service_Id, fee_UserType, fee_Terminal_Id, tp_Pid, 1, 8, msg_Src, fee_Type, fee_Code, new Date(System.currentTimeMillis() + (long)0xa4cb800), null, src_Terminal_Id, mobiles, msgContent, ""); result += send(cmppSubmitMessage); } }catch (Exception e){ result=-1; e.printStackTrace(); } return result; }
private static List divideMessage(String msg){ int maxLen = 67; List msgList = new ArrayList(); while(msg.length()>maxLen){ msgList.add(msg.subSequence(0, maxLen)); msg = msg.substring(maxLen); } msgList.add(msg); return msgList; }
private static byte[] byteAdd(byte[] src, byte[] add){ byte[] dst = new byte[src.length+add.length]; for(int i=0;i<src.length;i++){ dst[i]=src[i]; } for(int i=0;i<add.length;i++){ dst[src.length+i]=add[i]; } return dst; }
发表评论
-
HttpClient容易忽视的细节——连接关闭
2012-03-02 09:15 583HttpClient client = new HttpCli ... -
HTTPClient的多线程编程
2012-03-02 09:09 1449Axis2的连接主要采用了HttpClient进行与服务器的服 ... -
HttpClient超时区别
2012-03-02 09:07 1045HttpClient 4 设置超时 httpclient 超时 ... -
HttpClient Theading
2012-03-01 10:49 640有技术兴趣的 请加28830308群. 这篇文章概括了怎样在 ... -
HttpClient使用
2012-03-01 10:43 675有技术兴趣的 请加28830308群. HttpClien ... -
线程请求执行,一个多线程程执行HTTP请求的例子。
2012-03-01 10:40 1721package cn.lake.util; import ... -
httpclient 4 下载 文件
2012-03-01 10:38 895import java.io.File; import ja ... -
使用了httpclient实现的上传商品的demo
2012-03-01 10:36 1119package com.taobao.top.sample.u ... -
socket简介
2012-02-07 10:58 655第一步 充分理解Socket ... -
转载socket
2012-02-07 10:57 531对TCP/IP、UDP、Socket编程这些词你不会很陌生吧? ... -
Java的synchronized关键字:同步机制总结
2012-02-07 10:54 537不久前用到了同步,现在回过头来对JAVA中的同步做个总结,以对 ... -
JAVA RMI
2012-02-07 10:53 548Java RMI 指的是远程方法调用 (Remote Meth ... -
JXL生成复杂的EXCEL
2011-12-26 13:52 1344public String ExcelTaskRepo ... -
如何快速的为现有数据库建立数据字典?
2011-12-20 13:55 960大部分项目在验收时都需要向客户提供一份详细的数据字典,而编写数 ... -
在java中获取客户端真实的IP地址
2011-12-20 13:55 523public static String getRemoteA ... -
用JavaMail的API发送邮件
2011-12-20 13:55 5031、MimeMessage的包装类 public c ... -
在项目中整合FreeMarker框架
2011-12-16 15:40 561FreeMarker是一个用Java编写的模板引擎,既可以 ... -
Commons FTP范例
2011-12-16 15:33 482public class FtpUtil { privat ... -
Java实现的图片生成器
2011-12-16 15:32 489一、本图片生成器具有以下功能特性: 1、可以设置图 ... -
jacob学习总结
2011-12-16 15:27 407JACOB 就是 JAVA-COM Bridge的缩写,提供自 ...
相关推荐
辞职信-辞职信的范例范文最新.docx
辞职信样本范例.doc
如何写辞职信及范例.doc
2021年家长感谢信经典范例.docx
范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50范例50...
医学专业生求职自荐信投稿范例
用中断来实现串口通信//这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收 //和查询发送,另外我觉得发送没有必要用中断,因为程序的开销是一样
2021年家长给老师写的感谢信经典范例.docx
多代码范例演示VC 如何编写邮件发送和接收程序,包括了pop发送邮件,邮件发送高级编程、简单邮件发送等三个例子。有简单的有复杂的,对于VC初学者来说,绝对 是相当不错的学习范例。友情提示:为了调试方便,程序...
java发送邮件的范例,亲自测试过,可以发送
正式邀请信范例.doc
英文推荐信范例.doc
英文申请信范例.doc
英文回复信范例ResponseLetter.doc
2021新年慰问信范例.pdf
大学生英文求职信范例 .doc
软件测试报告范例软件测试报告范例软件测试报告范例软件测试报告范例软件测试报告范例
SuperMap Objects 范例程序参考 SuperMap Objects 2008 为广大用户提供了在五种开发语言下(VB6,VC++6,VB .NET2005,C# .NET2005,Delphi7)共240个详细的范例工程源代码及可执行程序,每个工程都是针对某一个或...
检举信格式写法范例.doc
大学生自荐信怎么写|大学生优秀自荐信范例.docx