Mangos源码分析(三)

Mangos源码分析

--Mangos game

 

Src/game目录

/// Read the client transmitted data

void WorldSocket::OnRead()

{

TcpSocket::OnRead();

        switch (_cmd)

        {

            case CMSG_PING:

            {

                _HandlePing(packet);

                break;

            }

            case CMSG_AUTH_SESSION://权限检查

            {

                _HandleAuthSession(packet);

                break;

            }

            default:

            {

                ///- Else, put it in the world session queue for this user (need to be already authenticated)

                if (_session)

                    _session->QueuePacket(packet);

                else

                    sLog.outDetail("Received out of place packet with cmdid 0x%.4X", _cmd);

                break;

            }

        }

}

 

/// Handle the client authentication packet

void WorldSocket::_HandleAuthSession(WorldPacket& recvPacket)

{

      //count表中检出对应的v,s

      //根据收到的包的内容计算v,s的值

  //  loginDatabase.PExecute("UPDATE `account` SET `v` = '0', `s` = '0' WHERE `username` = '%s'", safe_account.c_str());//v,s的值清0

      //比较数据表的中V值和计算出的V值是否相同,如果相同,则密码正确。

      //向客户端发送成功的数据包

 ///- Create a new WorldSession for the player and add it to the World

    _session = new WorldSession(id, this,security,tbc,mutetime,LocaleConstant(locale));

sWorld.AddSession(_session);

//更新对应的数据表字段

return;

}

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值