use of com.zx.sms.connect.manager.smgp.SMGPEndpointEntity in project SMSGate by Lihuanghe.
the class SMGPSessionLoginManager method doLogin.
@Override
protected void doLogin(Channel ch) {
// 发送bind请求
SMGPEndpointEntity cliententity = (SMGPEndpointEntity) entity;
// TODO 发送连接请求 ,创建密码
SMGPLoginMessage req = new SMGPLoginMessage();
req.setClientId(cliententity.getClientID());
String timestamp = DateFormatUtils.format(CachedMillisecondClock.INS.now(), "MMddHHmmss");
req.setTimestamp(Long.parseLong(timestamp));
byte[] userBytes = cliententity.getClientID().getBytes(cliententity.getChartset());
byte[] passwdBytes = cliententity.getPassword().getBytes(cliententity.getChartset());
byte[] timestampBytes = timestamp.getBytes(cliententity.getChartset());
req.setClientAuth(DigestUtils.md5(Bytes.concat(userBytes, new byte[7], passwdBytes, timestampBytes)));
req.setVersion(cliententity.getClientVersion());
byte loginMode = (byte) (cliententity.getChannelType() == ChannelType.DUPLEX ? 2 : (cliententity.getChannelType() == ChannelType.UP ? 1 : 0));
req.setLoginMode(loginMode);
ch.writeAndFlush(req);
logger.info("session Start :Send SMGPLoginMessage seq :{}", req.getSequenceNo());
}
Aggregations