public override void Notice(GetNoticeEventArgs e) { Notice(owner, e); owner.Notice(e); }
/// <summary> /// 通知所有观察者 /// </summary> /// <param name="e">通知的事件</param> public virtual void Notice(GetNoticeEventArgs e) { Notice(this, e); }
/// <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); } }
//以下为客户端消息 private static GetNoticeEventArgs GetClientSystem(Client owner) { GetNoticeEventArgs e = new GetNoticeEventArgs(owner, Attribute.ClientSystem); return e; }
private static GetNoticeEventArgs GetSeversSystem(Severs owner) { GetNoticeEventArgs e = new GetNoticeEventArgs(owner ,Attribute.SeversSystem); return e; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
//以下为服务端非系统类型 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; }