码迷,mamicode.com
首页 > 其他好文 > 详细

GS与网络打交道

时间:2014-12-07 14:57:33      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:style   blog   ar   color   os   sp   for   on   div   

与网络打交道
在GS,GC,Share都与网络打交道,但还是GC最多
GC打交道过程
send_stat BaseChannel::SendCmdTry()
{
    if (!m_queCmd.size())
        return send_stat::send_succeed;

    for(;;)
    {
        if (m_queCmd.empty())
            break;
        DataPkt pkt = m_queCmd.front();

        {
            send_stat hr = m_pDataLayer->SendData(m_nChannelId, pkt.pData, pkt.nSize);//GC与网络打交道倒也没什么
            if(hr != send_stat::send_succeed)
            {
                //放入等待队列,让GS来发送
                m_pShare->PushGcWait(m_nChannelId);
                return hr;
            }
        }

        m_queCmd.pop();

        m_pShare->PushPkt(pkt.pData, pkt.nSize);
    }
    return send_stat::send_succeed;
}
share:
void Share::OnTurnToClient(int nChannelId, void* pData, int nLen)
{
    m_pDataLayer->SendData(nChannelId, pData, nLen);//share这层还不知道什么意思
}
gs:
GS这边与网络打交道其实不多,就是固定的几处
m_spDataLayer->Close(nChannelId);//踢玩家下线
GetBufferNum()//获取缓冲包的数量

 

GS与网络打交道

标签:style   blog   ar   color   os   sp   for   on   div   

原文地址:http://www.cnblogs.com/zzyoucan/p/4149411.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!