Esempio n. 1
0
 public NetworkServer()
 {
     m_Dispose      = false;
     m_Transport    = new ServerTransport();
     m_Connections  = new HDictionary <uint, Connection>();
     m_WrapChannels = new HConcurrentQueue <WrapChannel>();
 }
Esempio n. 2
0
        public ServerChannel(KcpCon con)
        {
            m_Dispose = false;
            m_Conv    = con.Conv;
            m_ConId   = con.ConId;

            m_Con         = con;
            m_Heartbeat   = new ServerHeartbeatProcessing();
            m_RecvPackets = new HConcurrentQueue <Packet>();
            m_SendPackets = new HConcurrentQueue <Packet>();
        }
Esempio n. 3
0
        public ClientTransport()
        {
            m_ConId   = 0;
            m_Status  = Status.None;
            m_Dispose = false;

            m_Kcp    = null;
            m_Socket = null;

            m_Register    = new CRegister();
            m_SendPackets = new HConcurrentQueue <Packet>();
            m_RecvPackets = new HConcurrentQueue <Packet>();
        }
Esempio n. 4
0
 public void SendPackets(KcpCon kcp, HConcurrentQueue <Packet> packets)
 {
     while (packets.TryDequeue(out Packet packet))
     {
         int size = PacketProcessing.Send(m_Buffer, packet);
         if (size > 0)
         {
             if (packet.Channel == ChannelType.Reliable)
             {
                 kcp.Send(m_Buffer, 0, size);
             }
             else if (packet.Channel == ChannelType.Unreliable)
             {
                 kcp.RawSend(m_Buffer, 0, size);
             }
         }
     }
 }