Search in sources :

Example 1 with SMGPEndpointEntity

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());
}
Also used : SMGPLoginMessage(com.zx.sms.codec.smgp.msg.SMGPLoginMessage) SMGPEndpointEntity(com.zx.sms.connect.manager.smgp.SMGPEndpointEntity)

Aggregations

SMGPLoginMessage (com.zx.sms.codec.smgp.msg.SMGPLoginMessage)1 SMGPEndpointEntity (com.zx.sms.connect.manager.smgp.SMGPEndpointEntity)1