use of com.zx.sms.codec.cmpp.wap.LongMessageFrame in project SMSGate by Lihuanghe.
the class TestLongMessageFrameHolder method test.
@Test
public void test() throws SmsException {
List<LongMessageFrame> l = LongMessageFrameHolder.INS.splitmsgcontent(new SmsTextMessage(s));
for (LongMessageFrame frame : l) {
String stmp = LongMessageFrameHolder.INS.getPartTextMsg(frame);
Assert.assertEquals(67, stmp.length());
System.out.println(stmp);
}
}
use of com.zx.sms.codec.cmpp.wap.LongMessageFrame in project SMSGate by Lihuanghe.
the class ChannelUtil method syncWriteLongMsgToEntity.
public static <T extends BaseMessage> List<Promise<T>> syncWriteLongMsgToEntity(EndpointEntity e, BaseMessage msg) throws Exception {
EndpointConnector connector = e.getSingletonConnector();
if (connector == null)
return null;
if (msg instanceof LongSMSMessage) {
LongSMSMessage<BaseMessage> lmsg = (LongSMSMessage<BaseMessage>) msg;
if (!lmsg.isReport()) {
// 长短信拆分
SmsMessage msgcontent = lmsg.getSmsMessage();
List<LongMessageFrame> frameList = LongMessageFrameHolder.INS.splitmsgcontent(msgcontent);
// 保证同一条长短信,通过同一个tcp连接发送
List<BaseMessage> msgs = new ArrayList<BaseMessage>();
for (LongMessageFrame frame : frameList) {
BaseMessage basemsg = (BaseMessage) lmsg.generateMessage(frame);
msgs.add(basemsg);
}
return connector.synwrite(msgs);
}
}
Promise promise = connector.synwrite(msg);
if (promise == null) {
// 为空,可能是连接断了,直接返回
return null;
}
List<Promise<T>> arrPromise = new ArrayList<Promise<T>>();
arrPromise.add(promise);
return arrPromise;
}
use of com.zx.sms.codec.cmpp.wap.LongMessageFrame in project SMSGate by Lihuanghe.
the class SMGPDeliverMessage method generateFrame.
@Override
public LongMessageFrame generateFrame() {
LongMessageFrame frame = new LongMessageFrame();
frame.setTppid(getTpPid());
frame.setTpudhi(getTpUdhi());
frame.setMsgfmt(getMsgFmt());
frame.setMsgContentBytes(getBMsgContent());
frame.setMsgLength((short) this.bMsgContent.length);
frame.setSequence(getSequenceNo());
return frame;
}
use of com.zx.sms.codec.cmpp.wap.LongMessageFrame in project SMSGate by Lihuanghe.
the class BaseSm method doGenerateFrame.
protected LongMessageFrame doGenerateFrame() {
LongMessageFrame frame = new LongMessageFrame();
frame.setTppid(getProtocolId());
// udhi bit : x1xxxxxx 表示要处理长短信
frame.setTpudhi(getTpUdhI());
frame.setMsgfmt(new SmppSmsDcs(getDataCoding()));
frame.setMsgContentBytes(getShortMessage());
frame.setMsgLength((short) getMsglength());
frame.setSequence(getSequenceNo());
return frame;
}
Aggregations