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;

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值