zoukankan      html  css  js  c++  java
  • GS与网络打交道

    与网络打交道
    在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()//获取缓冲包的数量
  • 相关阅读:
    Java学习总结
    John 尼姆博弈
    博弈知识汇总(转)
    坏习纠正
    QDUOJ 河老师的新年礼物(尺取法)
    HDU
    QDUOJ ycb的ACM进阶之路 二进制多重背包
    HDU
    HDU
    POJ
  • 原文地址:https://www.cnblogs.com/zzyoucan/p/4149411.html
Copyright © 2011-2022 走看看