public NetworkServer() { m_Dispose = false; m_Transport = new ServerTransport(); m_Connections = new HDictionary <uint, Connection>(); m_WrapChannels = new HConcurrentQueue <WrapChannel>(); }
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>(); }
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>(); }
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); } } } }