//====================================================================== //发送数据 //====================================================================== public bool Send(NetMessage msg) { this.LogVerbose(); msg.head.sid = Id; m_bufferSend.Attach(new byte[msg.Length], 0); msg.Serialize(m_bufferSend); NetPacket packet = new NetPacket(m_bufferSend.GetBytes()); lock (m_queueSend) { m_queueSend.Enqueue(packet); } if (m_sending == 0 && m_actived == 1) { lock (m_queueSend) { if (m_currSendingPacket == null) { if (m_queueSend.Count > 0) { m_currSendingPacket = m_queueSend.Dequeue(); SendInternal(m_saeSend); } } } } return(true); }
//====================================================================== //发送数据 //====================================================================== public bool Send(NetMessage msg) { //主线程 this.LogVerbose(); msg.head.sid = Id; m_bufferSend.Attach(new byte[msg.Length], 0); msg.Serialize(m_bufferSend); var bytes = m_bufferSend.GetBytes(); var len = m_bufferSend.Length; return(m_Kcp.Send(bytes, len) > 0); }
//====================================================================== //发送数据 //====================================================================== public bool Send(NetMessage msg) { this.Log(); if (!IsActived) { Debuger.LogWarning("Session已经不活跃了!"); return(false); } msg.head.sid = Id; m_bufferSend.Attach(new byte[msg.Length], 0); msg.Serialize(m_bufferSend); var bytes = m_bufferSend.GetBytes(); var len = m_bufferSend.Length; return(m_Kcp.Send(bytes, len) == 0); }