예제 #1
0
 public override void Notice(GetNoticeEventArgs e)
 {
     Notice(owner, e);
     owner.Notice(e);
 }
예제 #2
0
 /// <summary>
 /// 通知所有观察者
 /// </summary>
 /// <param name="e">通知的事件</param>
 public virtual void Notice(GetNoticeEventArgs e)
 {
     Notice(this, e);
 }
예제 #3
0
 /// <summary>
 /// 通知所有观察者,注意,该种重载不会通知总监控
 /// </summary>
 /// <param name="sender">发送消息的类</param>
 /// <param name="e">通知的事件</param>
 public virtual void Notice(Object sender, GetNoticeEventArgs e)
 {
     if (getNoticeEvent == null) return;
     if (useNoticeAsync)//判断是否使用异步
     {
         getNoticeEvent.BeginInvoke(sender,e,null,null);
     }
     else
     {
         getNoticeEvent(sender, e);
     }
 }
예제 #4
0
 //以下为客户端消息
 private static GetNoticeEventArgs GetClientSystem(Client owner)
 {
     GetNoticeEventArgs e = new GetNoticeEventArgs(owner, Attribute.ClientSystem);
     return e;
 }
예제 #5
0
 private static GetNoticeEventArgs GetSeversSystem(Severs owner)
 {
     GetNoticeEventArgs e = new GetNoticeEventArgs(owner ,Attribute.SeversSystem);
     return e;
 }
예제 #6
0
        public static GetNoticeEventArgs GetSendToClients(Severs sender, List<Severs.User> commucateUsers, string msg)
        {
            GetNoticeEventArgs e = new GetNoticeEventArgs(sender, Attribute.SendToClient);
            e.relatedUsers = commucateUsers;
            e.commucateMessage = msg;
            int num = commucateUsers.Count;
            string clientInfo = "";
            string showClientInfo = "";
            foreach (Severs.User u in commucateUsers)
            {
                EndPoint RemoteEndPoint = u.client.Client.RemoteEndPoint;
                showClientInfo += RemoteEndPoint + "\r\n";
                clientInfo += RemoteEndPoint + ",";

            }

            e.content = string.Format("SendToClients,{0},{1}{2}", num, clientInfo, msg);
            e.message = string.Format("向{0}个客户端发送消息:\r\n{1}内容为:\r\n{2}", num, showClientInfo, msg);
            return e;
        }
예제 #7
0
 public static GetNoticeEventArgs GetSendToSevers(Client sender, string msg)
 {
     GetNoticeEventArgs e = new GetNoticeEventArgs(sender, Attribute.SendToSevers);
     e.commucateMessage = msg;
     e.content = String.Format("Send,{0}", msg);
     e.message = String.Format("向服务器发送:\r\n{0}", msg);
     return e;
 }
예제 #8
0
 public static GetNoticeEventArgs GetSendToAll(Severs sender, string msg)
 {
     GetNoticeEventArgs e = new GetNoticeEventArgs(sender, Attribute.SendToAll);
     e.commucateMessage = msg;
     int num = sender.users.Count;
     e.content = string.Format("SendToAll,{0},{1}", num, msg);
     e.message = string.Format("向所有客户端(共{0}个)广播:\r\n{1}", num, msg);
     return e;
 }
예제 #9
0
        public static GetNoticeEventArgs GetSendToClient(Severs sender, Severs.User commucateUser, string msg)
        {
            GetNoticeEventArgs e = new GetNoticeEventArgs(sender, Attribute.SendToClient);
            e.relatedUser = commucateUser;
            e.commucateMessage = msg;
            EndPoint RemoteEndPoint = commucateUser.client.Client.RemoteEndPoint;

            e.content = string.Format("SendToClient,{0},{1}", RemoteEndPoint, msg);
            e.message = string.Format("向客户端{0}发送消息:\r\n{1}", RemoteEndPoint, msg);
            return e;
        }
예제 #10
0
 public static GetNoticeEventArgs GetReceiveFromSevers(Client sender, string msg)
 {
     GetNoticeEventArgs e = new GetNoticeEventArgs(sender, Attribute.ReceiveFromSevers);
     e.commucateMessage = msg;
     e.content = String.Format("ReceiveFromSevers,{0}", msg);
     e.message = String.Format("接收到服务器内容:\r\n{0}", msg);
     return e;
 }
예제 #11
0
 public static GetNoticeEventArgs GetClientRemove(Severs sender, Severs.User beRemovedUser)
 {
     GetNoticeEventArgs e = new GetNoticeEventArgs(sender, Attribute.ClientRemove);
     e.relatedUser = beRemovedUser;
     EndPoint RemoteEndPoint = beRemovedUser.client.Client.RemoteEndPoint;
     e.content = string.Format("ClientRemove,{0}", RemoteEndPoint);
     e.message = string.Format("咦!Master竟然不让我理这位客户端sama!是她做什么坏事了嘛0 0?→{0}", RemoteEndPoint);
     return e;
 }
예제 #12
0
 public static GetNoticeEventArgs GetClientLost(Severs sender, Severs.User beRemovedUser)
 {
     GetNoticeEventArgs e = new GetNoticeEventArgs(sender, Attribute.ClientLost);
     e.relatedUser = beRemovedUser;
     EndPoint RemoteEndPoint = beRemovedUser.client.Client.RemoteEndPoint;
     e.content = string.Format("ClientLost,{0}", RemoteEndPoint);
     e.message = string.Format("不好啦!不好啦!这位客户端失踪了( ⊙ o ⊙ )→{0}", RemoteEndPoint);
     return e;
 }
예제 #13
0
 public static GetNoticeEventArgs GetClientLogoff(Severs sender, Severs.User logoffUser)
 {
     GetNoticeEventArgs e = new GetNoticeEventArgs(sender, Attribute.ClientLogoff);
     e.relatedUser = logoffUser;
     EndPoint RemoteEndPoint = logoffUser.client.Client.RemoteEndPoint;
     e.content = string.Format("ClientLogoff,{0}", RemoteEndPoint);
     e.message = string.Format("好桑心T^T有一个客户端姐姐不理我啦。这货→{0}", RemoteEndPoint);
     return e;
 }
예제 #14
0
 //以下为服务端非系统类型
 public static GetNoticeEventArgs GetClientLogin(Severs sender,Severs.User connectUser)
 {
     GetNoticeEventArgs e = new GetNoticeEventArgs(sender, Attribute.ClientLogin);
     e.relatedUser = connectUser;
     EndPoint RemoteEndPoint=connectUser.client.Client.RemoteEndPoint;
     e.content = string.Format("ClientLogin,{0}", RemoteEndPoint);
     e.message = string.Format("哼哼~~有一个客户端姐姐连接啦。客户端信息:{0}", RemoteEndPoint);
     return e;
 }