Ejemplo n.º 1
0
 public void SendMessage(RoomMessageDefine id, object msg)
 {
     if (m_IsEntered)
     {
         m_Peer.SendMessage(id, msg);
     }
 }
 internal void SendMessage(RoomMessageDefine id, object msg)
 {
     try {
         if (!m_IsConnected)
         {
             return;
         }
         NetOutgoingMessage om = m_NetClient.CreateMessage();
         byte[]             bt = Serialize.Encode(msg, (int)id);
         IncSendMessageCount((int)id, bt.Length);
         om.Write(bt);
         NetSendResult result = m_NetClient.SendMessage(om, NetDeliveryMethod.ReliableOrdered);
         if (result == NetSendResult.FailedNotConnected)
         {
             m_IsConnected    = false;
             m_CanSendMessage = false;
             LogSystem.Info("SendMessage FailedNotConnected");
         }
         else if (result == NetSendResult.Dropped)
         {
             LogSystem.Error("SendMessage {0} Dropped", msg.ToString());
         }
         m_NetClient.FlushSendQueue();
     } catch (Exception ex) {
         LogSystem.Error("NetworkSystem.SendMessage throw Exception:{0}\n{1}", ex.Message, ex.StackTrace);
     }
 }
Ejemplo n.º 3
0
 internal void SendMessage(RoomMessageDefine id, object msg)
 {
     if (is_entered_)
     {
         peer_.SendMessage(id, msg);
     }
 }
Ejemplo n.º 4
0
 internal bool RegClientMsgHandler(RoomMessageDefine msg, ClientMsgHandler handler)
 {
     if (client_msg_handlers_.ContainsKey((int)msg)) {
     return false;
       }
       client_msg_handlers_.Add((int)msg, handler);
       return true;
 }
Ejemplo n.º 5
0
 public void NotifyAllUser(RoomMessageDefine id, object msg)
 {
     foreach (User us in m_RoomInfo.RoomUsers)
     {
         us.SendMessage(id, msg);
     }
     NotifyAllObserver(id, msg);
 }
Ejemplo n.º 6
0
 public bool RegClientMsgHandler(RoomMessageDefine msg, ClientMsgHandler handler)
 {
     if (client_msg_handlers_.ContainsKey((int)msg))
     {
         return(false);
     }
     client_msg_handlers_.Add((int)msg, handler);
     return(true);
 }
Ejemplo n.º 7
0
 public void NotifyAllObserver(RoomMessageDefine id, object msg)
 {
     foreach (Observer observer in m_RoomInfo.RoomObservers)
     {
         if (null != observer && !observer.IsIdle)
         {
             observer.SendMessage(id, msg);
         }
     }
 }
Ejemplo n.º 8
0
 internal void SendUnconnectedMessage(NetConnection conn, RoomMessageDefine id, object msg)
 {
     try {
         NetOutgoingMessage om = m_NetServer.CreateMessage();
         om.Write(Serialize.Encode(msg, (int)id));
         m_NetServer.SendUnconnectedMessage(om, conn.RemoteEndPoint);
     } catch (Exception ex) {
         LogSys.Log(LOG_TYPE.ERROR, "Exception {0}\n{1}", ex.Message, ex.StackTrace);
     }
 }
Ejemplo n.º 9
0
 internal void NotifyEnteredUser(RoomMessageDefine id, object msg)
 {
     foreach (User us in m_Room.RoomUsers)
     {
         if (us.IsEntered)
         {
             us.SendMessage(id, msg);
         }
     }
     NotifyAllObserver(id, msg);
 }
Ejemplo n.º 10
0
 public void NotifyAllUser(RoomMessageDefine id, object msg, int exceptId)
 {
     foreach (User us in m_RoomInfo.RoomUsers)
     {
         if (us.RoleId != exceptId)
         {
             us.SendMessage(id, msg);
         }
     }
     NotifyAllObserver(id, msg);
 }
Ejemplo n.º 11
0
 internal void NotifyObservers(RoomMessageDefine id, object msg)
 {
     if (null != m_Observers)
     {
         IList <Observer> observers = m_Observers;
         for (int i = 0; i < observers.Count; ++i)
         {
             Observer observer = observers[i];
             if (null != observer && !observer.IsIdle)
             {
                 observer.SendMessage(id, msg);
             }
         }
     }
 }
Ejemplo n.º 12
0
 internal void SendPeerMessage(RoomPeer peer, RoomMessageDefine id, object msg)
 {
     try {
         NetOutgoingMessage om = m_NetServer.CreateMessage();
         om.Write(Serialize.Encode(msg, (int)id));
         if (null != peer.GetConnection())
         {
             NetSendResult res = m_NetServer.SendMessage(om, peer.GetConnection(), NetDeliveryMethod.ReliableOrdered, 0);
             if (res == NetSendResult.Dropped)
             {
                 LogSys.Log(LOG_TYPE.ERROR, "SendPeerMessage {0} failed:dropped, User:{1}({2})", msg.ToString(), peer.Guid, peer.GetKey());
             }
         }
     } catch (Exception ex) {
         LogSys.Log(LOG_TYPE.ERROR, "Exception {0}\n{1}", ex.Message, ex.StackTrace);
     }
 }
Ejemplo n.º 13
0
        internal void BroadCastMsgToRoom(RoomMessageDefine id, object msg, bool exclude_me = true)
        {
            lock (m_LockObj) {
                if (!exclude_me)
                {
                    SendMessage(id, msg);
                }

                foreach (RoomPeer peer in m_SameRoomPeerList)
                {
                    if (peer.GetConnection() != null)
                    {
                        peer.SendMessage(id, msg);
                    }
                }
            }
            NotifyObservers(id, msg);
        }
Ejemplo n.º 14
0
 internal void NotifyAllObserver(RoomMessageDefine id, object msg)
 {
     foreach (Observer observer in m_Room.RoomObservers) {
         if (null != observer && !observer.IsIdle) {
             observer.SendMessage(id, msg);
         }
     }
 }
 internal void RegisterHandler(RoomMessageDefine id, MsgHandler handler)
 {
     m_DicHandler[(int)id] = handler;
 }
Ejemplo n.º 16
0
 internal void SendMessage(RoomMessageDefine id, object msg)
 {
     peer_.SendMessage(id, msg);
 }
Ejemplo n.º 17
0
 internal void RegisterMsgHandler(RoomMessageDefine id, MessageDispatch.MsgHandler handler)
 {
     m_Dispatch.RegisterHandler(id, handler);
 }
 internal void RegisterHandler(RoomMessageDefine id, MsgHandler handler)
 {
     m_DicHandler[(int)id] = handler;
 }
Ejemplo n.º 19
0
 public void BroadCastMsgToRoom(RoomMessageDefine id, object msg, bool exclude_me = true)
 {
     m_Peer.BroadCastMsgToRoom(id, msg, exclude_me);
 }
Ejemplo n.º 20
0
 public void SendMessage(RoomMessageDefine id, object msg)
 {
     m_Peer.SendMessage(id, msg);
 }
Ejemplo n.º 21
0
 internal void NotifyAllUser(RoomMessageDefine id, object msg, int exceptId)
 {
     foreach (User us in m_Room.RoomUsers) {
         if (us.RoleId != exceptId) {
             us.SendMessage(id, msg);
         }
     }
     NotifyAllObserver(id, msg);
 }
Ejemplo n.º 22
0
 internal void NotifyEnteredUser(RoomMessageDefine id, object msg)
 {
     foreach (User us in m_Room.RoomUsers) {
         if (us.IsEntered) {
             us.SendMessage(id, msg);
         }
     }
     NotifyAllObserver(id, msg);
 }
Ejemplo n.º 23
0
 internal void BroadCastMsgToRoom(RoomMessageDefine id, object msg, bool exclude_me = true)
 {
     peer_.BroadCastMsgToRoom(id, msg, exclude_me);
 }
 private void RegisterMsgHandler(RoomMessageDefine msgid, MessageDispatch.MsgHandler handler)
 {
     m_Dispatch.RegisterHandler(msgid, handler);
 }
Ejemplo n.º 25
0
 internal void RegisterMsgHandler(RoomMessageDefine id, MessageDispatch.MsgHandler handler)
 {
     m_Dispatch.RegisterHandler(id, handler);
 }
Ejemplo n.º 26
0
 internal void SendMessage(RoomMessageDefine id, object msg)
 {
     IOManager.Instance.SendPeerMessage(this, id, msg);
 }
Ejemplo n.º 27
0
 internal void SendPeerMessage(RoomPeer peer, RoomMessageDefine id, object msg)
 {
     try {
     NetOutgoingMessage om = m_NetServer.CreateMessage();
     om.Write(Serialize.Encode(msg, (int)id));
     if (null != peer.GetConnection()) {
       NetSendResult res = m_NetServer.SendMessage(om, peer.GetConnection(), NetDeliveryMethod.ReliableOrdered, 0);
       if (res == NetSendResult.Dropped) {
     LogSys.Log(LOG_TYPE.ERROR, "SendPeerMessage {0} failed:dropped, User:{1}({2})", msg.ToString(), peer.Guid, peer.GetKey());
       }
     }
       } catch (Exception ex) {
     LogSys.Log(LOG_TYPE.ERROR, "Exception {0}\n{1}", ex.Message, ex.StackTrace);
       }
 }
Ejemplo n.º 28
0
 internal void BroadCastMsgToRoom(RoomMessageDefine id, object msg, bool exclude_me = true)
 {
     peer_.BroadCastMsgToRoom(id, msg, exclude_me);
 }
Ejemplo n.º 29
0
 internal void SendUnconnectedMessage(NetConnection conn, RoomMessageDefine id, object msg)
 {
     try {
     NetOutgoingMessage om = m_NetServer.CreateMessage();
     om.Write(Serialize.Encode(msg, (int)id));
     m_NetServer.SendUnconnectedMessage(om, conn.RemoteEndPoint);
       } catch (Exception ex) {
     LogSys.Log(LOG_TYPE.ERROR, "Exception {0}\n{1}", ex.Message, ex.StackTrace);
       }
 }