Ejemplo n.º 1
0
 /// <summary>
 /// 发送消息是发送前压包,再发送
 /// </summary>
 private void SendMessage()
 {
     for (int i = 0; i < m_msgList.Count; i++)
     {
         MessageCache cache = m_msgList[i];
         Conn         conn  = cache.conn;
         if (conn != null && conn.socket != null && conn.socket.Connected)
         {
             NetMessage msg = cache.msg;
             m_stream.Reset();
             msg.ToByte(ref m_stream);
             try
             {
                 if (msg.msgID != 200)
                 {
                     Console.WriteLine(m_serverType + ":发送消息:" + (eNetMessageID)msg.msgID);
                 }
                 conn.socket.BeginSend(m_stream.GetBuffer(), 0, msg.msgMaxLen, SocketFlags.None, null, conn);
             }
             catch (Exception e)
             {
                 Console.WriteLine(m_serverType + ":[错误]发送消息异常,id:" + (eNetMessageID)msg.msgID + " " + conn.GetAdress() + " : " + e.Message);
             }
         }
     }
     m_msgList.Clear();
 }
Ejemplo n.º 2
0
 private void SendMessageNew()
 {
     // 一次发送一条
     if (_m_bSending)
     {
         return;
     }
     if (_m_listMsg.Count > 0)
     {
         _m_bSending = true;
         LusuoStream msg = _m_listMsg[0];
         m_socket.BeginSend(msg.GetBuffer(), 0, msg.m_byteLen, SocketFlags.None, _SendedEnd, null);
         _m_listMsg.RemoveAt(0);
         //Debug.LogWarning("最后发送消息:" + (eNetMessageID)msg.msgID);
     }
 }