public void XmppConnection(Jid to = null, tbl_Message message = null) { do { try { Client = new XmppClient(HostName); Client.Username = UserName; Client.Password = Password; Client.Port = Port; Client.Connect(Guid.NewGuid().ToPureString()); if (null != Client && Client.Connected) { if (null != to & null != message) { SendMessage(to, message); Times = 0; break; } } } catch (Exception ex) { if ((Times++) > 4) { throw new Exception(ex.Message); } } } while (Times > 0 && Times < 5); }
public void Execute(tbl_Message Message, string Key) { //var GetData = Message.MsgBody[Key]; //switch (Key.Split('-')[2]) //{ // case "INSERT": // { // var Group = JsonConvert.DeserializeObject<tbl_FriendGroups>(GetData); // Group.GroupID = GetDatePrefix + Guid.NewGuid().ToPureString(); // GetData = JsonConvert.SerializeObject(Group); // if (_redisDB.FriendGroupIns(GetData)) // Message.MsgBody[Key] = GetData; // };break; // case "UPDATE": // { // _redisDB.FriendGroupUpd(GetData); // };break; // case "DELETE": // { // _redisDB.FriendGroupDel(GetData); // };break; //} //var jid = _xmppOpenfire.GetJid(Message.MsgFrom, "PC"); //_xmppOpenfire.SendMessage(jid, Message); //jid = _xmppOpenfire.GetJid(Message.MsgFrom, "MOBILE"); //_xmppOpenfire.SendMessage(jid, Message); }
private void SendMessage(tbl_Message Message) { var jid = _xmppOpenfire.GetJid(Message.MsgTo, "PC"); _xmppOpenfire.SendMessage(jid, Message); jid = _xmppOpenfire.GetJid(Message.MsgTo, "MOBILE"); _xmppOpenfire.SendMessage(jid, Message); }
public bool SendMessage(Jid to, tbl_Message message) { try { var body = JsonConvert.SerializeObject(message); Client.SendMessage(to, body, null, null, MessageType.Chat); } catch { Client = null; XmppConnection(to, message); } return(true); }
public void Execute(tbl_Message Message) { var parent = Task.Factory.StartNew(() => { var task1 = Task.Factory.StartNew(() => { //TODO 获得群成员列表 }); var task2 = Task.Factory.StartNew(() => { task1.Wait(); if (task1.IsCompleted) { while (_userList.Count > 0) { Message.MsgTo = GetUserItem(); SendMessage(Message); } } }); var task3 = Task.Factory.StartNew(() => { task1.Wait(); if (task1.IsCompleted) { while (_userList.Count > 0) { Message.MsgTo = GetUserItem(); SendMessage(Message); } } }); var task4 = Task.Factory.StartNew(() => { task1.Wait(); if (task1.IsCompleted) { while (_userList.Count > 0) { Message.MsgTo = GetUserItem(); SendMessage(Message); } } }); }); parent.Wait(); }
public void Execute(tbl_Message Message, string Key) { //var Relation = JsonConvert.DeserializeObject<>(data); switch (Key.Split('-')[2]) { case "INSERT": { }; break; case "UPDATE": { }; break; case "DELETE": { }; break; } }
public void Execute(tbl_Message Message) { try { if (Message.MsgBody["RESOURCE"].ToUpper() == "MOBILE") { var jid = _xmppOpenfire.GetJid(Message.MsgFrom, "PC"); _xmppOpenfire.SendMessage(jid, Message); jid = _xmppOpenfire.GetJid(Message.MsgTo, "PC"); _xmppOpenfire.SendMessage(jid, Message); } else { var jid = _xmppOpenfire.GetJid(Message.MsgFrom, "MOBILE"); _xmppOpenfire.SendMessage(jid, Message); jid = _xmppOpenfire.GetJid(Message.MsgTo, "MOBILE"); _xmppOpenfire.SendMessage(jid, Message); } } catch (Exception ex) { throw new Exception(ex.Message); } }
public bool MessageInsert(string message) { byte[] bytes = Convert.FromBase64String(message); var XmlMessage = Encoding.Default.GetString(bytes); try { var Message = new tbl_Message(XmlMessage); if (null != Message.MsgID) { using (var conn = MysqlDB.GetOpenConnection()) { switch (Message.MsgType) { case "chat": case "groupchat": { return(conn.Execute(@"INSERT INTO tbl_Message (MsgID, MsgFrom, MsgTo,MsgType,MsgStanza,MsgDate) VALUES (@MsgID, @MsgFrom, @MsgTo,@MsgType,@MsgStanza,@MsgDate)", Message) > 0); }; case "chat-arrive-receipt": { System.Threading.Thread.Sleep(300); return(conn.Execute(@"UPDATE tbl_Message SET MsgStatus=3 WHERE MsgID=@MsgID", new { MsgID = Message.MsgID }) > 0); }; case "chat-viewed-receipt": { System.Threading.Thread.Sleep(300); return(conn.Execute(@"UPDATE tbl_Message SET MsgStatus=4 WHERE MsgStatus=3 AND MsgFrom=@MsgFrom AND MsgTo=@MsgTo" , new { MsgFrom = Message.MsgTo, MsgTo = Message.MsgFrom }) > 0); }; case "chat-recall-message": case "groupchat-recall-message": { System.Threading.Thread.Sleep(300); return(conn.Execute(@"UPDATE tbl_Message SET MsgStanza=@MsgStanza WHERE MsgID=@MsgID", new { MsgID = Message.MsgID, MsgStanza = Message.MsgStanza }) > 0); }; } }; } return(false); } catch (Exception ex) { AddExceptionData("tbl_Message", XmlMessage, ex.Message); return(false); } }
public void Execute(tbl_Message Message, string Key) { //var GetData = Message.MsgBody[Key]; //switch (Key.Split('-')[2]) //{ // case "REQUEST": // { // var Relation = JsonConvert.DeserializeObject<tbl_FriendRelation>(GetData); // Relation.RelationID = GetDatePrefix + Guid.NewGuid().ToPureString(); // Relation.FromUserID = Message.MsgTo; // Relation.ToUserID = Message.MsgFrom; // Relation.RelationStatus = 0; // GetData = JsonConvert.SerializeObject(Relation); // if (_redisDB.FriendRelationIns(GetData)) // { // Message.MsgBody[Key] = GetData; // var jid = _xmppOpenfire.GetJid(Message.MsgTo, "PC"); // _xmppOpenfire.SendMessage(jid, Message); // jid = _xmppOpenfire.GetJid(Message.MsgTo, "MOBILE"); // _xmppOpenfire.SendMessage(jid, Message); // } // }; break; // case "AGREE": // { // var Relation = JsonConvert.DeserializeObject<tbl_FriendRelation>(GetData); // Relation.RelationStatus = 1; // //回答自己的添加好友同意请求 // GetData = JsonConvert.SerializeObject(Relation); // if (_redisDB.FriendRelationUpd(GetData)) // { // Message.MsgBody[Key] = GetData; // var jid = _xmppOpenfire.GetJid(Message.MsgFrom, "PC"); // _xmppOpenfire.SendMessage(jid, Message); // jid = _xmppOpenfire.GetJid(Message.MsgFrom, "MOBILE"); // _xmppOpenfire.SendMessage(jid, Message); // } // //给对方的两个设备端发送消息 // Relation.RelationID = GetDatePrefix + Guid.NewGuid().ToPureString(); // Relation.FromUserID = Message.MsgTo; // Relation.ToUserID = Message.MsgFrom; // GetData = JsonConvert.SerializeObject(Relation); // if (_redisDB.FriendRelationIns(GetData)) // { // Message.MsgFrom = Relation.FromUserID; // Message.MsgTo = Relation.ToUserID; // Message.MsgBody[Key] = GetData; // var jid = _xmppOpenfire.GetJid(Message.MsgFrom, "PC"); // _xmppOpenfire.SendMessage(jid, Message); // jid = _xmppOpenfire.GetJid(Message.MsgFrom, "MOBILE"); // _xmppOpenfire.SendMessage(jid, Message); // } // }; break; // case "REFUSE": // { // var Relation = JsonConvert.DeserializeObject<tbl_FriendRelation>(GetData); // Relation.RelationStatus = 2; // //回答自己的添加好友同意请求 // GetData = JsonConvert.SerializeObject(Relation); // if (_redisDB.FriendRelationUpd(GetData)) // { // Message.MsgBody[Key] = GetData; // var jid = _xmppOpenfire.GetJid(Message.MsgFrom, "PC"); // _xmppOpenfire.SendMessage(jid, Message); // jid = _xmppOpenfire.GetJid(Message.MsgFrom, "MOBILE"); // _xmppOpenfire.SendMessage(jid, Message); // } // }; break; //} }
static void Main(string[] args) { Cicada.Boot.CicadaApplication.Run(); #region 文件压缩测试 //List<tbl_FriendRelation> list = new List<tbl_FriendRelation>(); //for (int i = 0; i < 11000; i++) //{ // list.Add(new tbl_FriendRelation // { // RelationID = Guid.NewGuid().ToPureString(), // FriendGroupID = Guid.NewGuid().ToPureString(), // FromUserID = Guid.NewGuid().ToPureString(), // ToUserID = Guid.NewGuid().ToPureString(), // FriendAuthority = new Dictionary<string, string>(), // RelationRemark = "sdfsdfsdfsdfsd是的发送到发送到", // SpaceGroupID = Guid.NewGuid().ToPureString(), // RelationDate = DateTime.Now // }); //} //using (FileStream fs = new FileStream("E:\\Spark\\pppppppp.txt", FileMode.OpenOrCreate)) //{ // //获得字节数组 // byte[] data = Encoding.Default.GetBytes(JsonConvert.SerializeObject(list)); // //开始写入 // fs.Write(data, 0, data.Length); // //清空缓冲区、关闭流 // fs.Flush(); //} //new ZipHelper().ZipManyFilesOrDictorys //( // new List<string>() { "E:\\Spark\\pppppppp.txt" }, // "E:\\Spark\\pppppppp.zip", // "123" //); #endregion var _rabbitDB = CicadaFacade.Container.Resolve <ISender>(); Console.WriteLine("请输入任意字符 回车!"); while (Console.ReadLine() != "exit") { Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("filed1", "123"); dic.Add("filed2", "456"); dic.Add("filed3", "789"); var Msg = new tbl_Message { MsgID = Guid.NewGuid().ToPureString(), MsgFrom = "57fefb8559242e1e8ca5b13f", MsgTo = "57ff1ac4592435206863d855", MsgType = "chat", MsgStanza = "", MsgDate = DateTime.Now }; var MqTest = new { // Type :chat(默认) | error | headline | normal Type = "chat", // FromID:可赋值也可不赋值(不赋值 收到时为system) FromID = "", ToID = "57e36fd12368600324f95126", Body = Msg, BodyExtend = dic }; _rabbitDB.Send("lingyi.receivemessage", MqTest); var MqTest1 = new { // Type :chat(默认) | error | headline | normal Type = "chat", // FromID:可赋值也可不赋值(不赋值 收到时为system) FromID = "", ToID = "57ea36362368600fa8bffe58", Body = ">", BodyExtend = dic }; _rabbitDB.Send("lingyi.receivemessage", MqTest1); Console.WriteLine("发送完成,如果需要请再次输入!"); //_rabbitDB.Send("lingyi.setbussmessage", Msg); //_rabbitDB.Send("lingyi.getchatmessage", Msg); } }