/// <summary> /// 发送消息给所有人 /// </summary> /// <param name="msg">消息内容</param> /// <param name="sender">发送者</param> /// <returns></returns> public void SendAllMessage(SenMessge model) { //发送给所有人 foreach (var session in this.CurrentContext .JsonWebSocketSessions) { //消息不发给自己 if (session.Tag.ID != this.CurrentContext.Session.Tag.ID) { session.InvokeApi("onWebNotify", JsonConvert.SerializeObject(model, Setting)); } } }
public RestResult SendMessageToUsers(string[] users, string message) { if (string.IsNullOrEmpty(message) == true) { return(RestResult.False("发送的内容不能为空")); } Console.WriteLine("{0} 收到后回复信息:{1}", this.CurrentContext.Session.RemoteEndPoint.ToString(), message); var name = (string)this.CurrentContext.Session.Tag.Get("name").AsString(); // 发言人 var model = new SenMessge(name, message); if (users.Length <= 0 || users[0] == "0") { SendAllMessage(model); } foreach (var user in users) { if (!string.IsNullOrEmpty(user.Trim()) && user != "0") { var session = this.CurrentContext.JsonWebSocketSessions.Where(item => item.Tag.ID == user) .FirstOrDefault(); if (session == null) { model.sender = "系统"; model.Content = user + " 已经离线."; this.CurrentContext.Session.InvokeApi("onWebNotify", model); continue; } //消息不发给自己 if (session.Tag.ID != this.CurrentContext.Session.Tag.ID) { session.InvokeApi("onWebNotify", model); } } } return(RestResult.True("发送成功")); }