use of com.zx.sms.codec.smgp.msg.SMGPDeliverMessage in project SMSGate by Lihuanghe.
the class SMGPSessionConnectedHandler method createTestReq.
@Override
protected BaseMessage createTestReq(String content) {
final EndpointEntity finalentity = getEndpointEntity();
if (finalentity instanceof ServerEndpoint) {
SMGPDeliverMessage pdu = new SMGPDeliverMessage();
pdu.setDestTermId("10086");
pdu.setMsgContent(content);
pdu.setSrcTermId("13800138000");
return pdu;
} else {
SMGPSubmitMessage pdu = new SMGPSubmitMessage();
pdu.setSrcTermId("10086");
pdu.setDestTermIdArray("13800138000");
pdu.setMsgContent(content);
return pdu;
}
}
use of com.zx.sms.codec.smgp.msg.SMGPDeliverMessage in project SMSGate by Lihuanghe.
the class TestSMGPDeliverMessage method testlongCodec.
public void testlongCodec(SMGPDeliverMessage msg) {
channel().writeOutbound(msg);
ByteBuf buf = (ByteBuf) channel().readOutbound();
ByteBuf copybuf = Unpooled.buffer();
while (buf != null) {
copybuf.writeBytes(buf.copy());
int length = buf.readableBytes();
Assert.assertEquals(length, buf.readInt());
Assert.assertEquals(msg.getCommandId(), buf.readInt());
buf = (ByteBuf) channel().readOutbound();
}
SMGPDeliverMessage result = decode(copybuf);
Assert.assertNotNull(result);
System.out.println(result);
if (msg.isReport()) {
Assert.assertEquals(msg.getReport().getStat(), result.getReport().getStat());
} else {
Assert.assertEquals(msg.getMsgContent(), result.getMsgContent());
Assert.assertEquals(msg.getSrcTermId(), result.getSrcTermId());
Assert.assertEquals(msg.getDestTermId(), result.getDestTermId());
Assert.assertEquals(msg.getRecvTime(), result.getRecvTime());
}
Assert.assertEquals(msg.getSrcTermId(), result.getSrcTermId());
}
use of com.zx.sms.codec.smgp.msg.SMGPDeliverMessage in project SMSGate by Lihuanghe.
the class TestSMGPDeliverMessage method test2.
@Test
public void test2() {
SMGPDeliverMessage msg = new SMGPDeliverMessage();
msg.setDestTermId("13800138000");
msg.setLinkId("1023rsd");
msg.setMsgContent("第一种:通过注解@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作,第一种:通过注解@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作");
msg.setMsgId(new MsgId());
msg.setSrcTermId("10086988");
testlongCodec(msg);
}
use of com.zx.sms.codec.smgp.msg.SMGPDeliverMessage in project SMSGate by Lihuanghe.
the class SMGPMessageCodec method fromBytes.
private SMGPBaseMessage fromBytes(byte[] bytes) throws Exception {
if (bytes == null) {
return null;
}
if (bytes.length < SMGPBaseMessage.SZ_HEADER) {
return null;
}
int commandLength = ByteUtil.byte2int(bytes, 0);
assert bytes.length == commandLength;
int commandId = ByteUtil.byte2int(bytes, 4);
SMGPBaseMessage baseMsg = null;
switch(commandId) {
case SMGPConstants.SMGP_LOGIN:
baseMsg = new SMGPLoginMessage();
break;
case SMGPConstants.SMGP_LOGIN_RESP:
baseMsg = new SMGPLoginRespMessage();
break;
case SMGPConstants.SMGP_SUBMIT:
baseMsg = new SMGPSubmitMessage();
break;
case SMGPConstants.SMGP_SUBMIT_RESP:
baseMsg = new SMGPSubmitRespMessage();
break;
case SMGPConstants.SMGP_DELIVER:
baseMsg = new SMGPDeliverMessage();
break;
case SMGPConstants.SMGP_DELIVER_RESP:
baseMsg = new SMGPDeliverRespMessage();
break;
case SMGPConstants.SMGP_ACTIVE_TEST:
baseMsg = new SMGPActiveTestMessage();
break;
case SMGPConstants.SMGP_ACTIVE_TEST_RESP:
baseMsg = new SMGPActiveTestRespMessage();
break;
case SMGPConstants.SMGP_EXIT_TEST:
baseMsg = new SMGPExitMessage();
break;
case SMGPConstants.SMGP_EXIT_RESP:
baseMsg = new SMGPExitRespMessage();
break;
default:
baseMsg = new SMGPUnknownMessage(commandId);
break;
}
baseMsg.fromBytes(bytes, version);
return baseMsg;
}
use of com.zx.sms.codec.smgp.msg.SMGPDeliverMessage in project SMSGate by Lihuanghe.
the class SMGPMessageReceiveHandler method reponse.
@Override
protected ChannelFuture reponse(final ChannelHandlerContext ctx, Object msg) {
if (msg instanceof SMGPDeliverMessage) {
SMGPDeliverRespMessage resp = new SMGPDeliverRespMessage();
resp.setSequenceNo(((SMGPDeliverMessage) msg).getSequenceNo());
resp.setMsgId(((SMGPDeliverMessage) msg).getMsgId());
resp.setStatus(0);
return ctx.writeAndFlush(resp);
} else if (msg instanceof SMGPSubmitMessage) {
SMGPSubmitRespMessage resp = new SMGPSubmitRespMessage();
resp.setSequenceNo(((SMGPSubmitMessage) msg).getSequenceNo());
resp.setStatus(0);
return ctx.writeAndFlush(resp);
}
return null;
}
Aggregations