static void RequestJWTToken() { Console.WriteLine("Username:"******"Sending request to token system"); MSMQHelper.SendMessage(userInputMQ, userModel, TokenRequestType.CreateToken.ToString(), testMQ); Console.WriteLine("Awaiting response in testMQ"); Message msg = MSMQHelper.ReceiveMessage(testMQ); //JWTPayload payload = JWTManager.GetModelFromToken<JWTPayload>(msg.Body); JWTPayload payload = MSMQHelper.GetMessageBody <JWTPayload>(msg); Console.WriteLine("Response received"); Console.WriteLine("Printing payload:"); Console.WriteLine("UserID = " + payload.UserID); Console.WriteLine("Servers:"); foreach (var item in payload.ServersInfo.Servers) { Console.WriteLine(item.IP + ":" + item.Port); } }
static void Main(string[] args) { MSMQHelper msmqHelper = new MSMQHelper(); string queueName = Environment.GetEnvironmentVariable("QUEUE_NAME") ?? Constants.PRIVATE_QUEUE_NAME; string directFormatProtocol = Environment.GetEnvironmentVariable("DIRECT_FORMAT_PROTOCOL") ?? Constants.DIRECT_FORMAT_PROTOCOL; Console.WriteLine("This should run as a separate user from the receiving app."); while (true) { try { msmqHelper.SendMessage(queueName, directFormatProtocol, "hello test", "hello"); Console.WriteLine(Constants.TRACE_LINE_BREAK); Console.WriteLine("Sent a message"); Console.WriteLine(Constants.TRACE_LINE_BREAK); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.WriteLine("This will try to send a message."); Thread.Sleep(1000); //Console.ReadLine(); } }
/// <summary> /// Pushes a message to the producer queue /// </summary> /// <param name="_user"></param> public void EnqueueProducerQueue(PlayerDataModel data) { Message msg = new Message(Newtonsoft.Json.JsonConvert.SerializeObject(data)); msg.Label = data.UserID; msg.Formatter = new JsonMessageFormatter(); MSMQHelper.SendMessage(producerQueue, msg); }
/// <summary> /// Pushes a message to the producer queue /// </summary> /// <param name="_user"></param> public void EnqueueProducerQueue(UserModel _user) { Message msg = new Message(Newtonsoft.Json.JsonConvert.SerializeObject(_user)); msg.Label = _user.UserID; msg.Formatter = new JsonMessageFormatter(); MSMQHelper.SendMessage(producerQueue, msg); }
private static void BeaconInputReaceived(object sender, ReceiveCompletedEventArgs e) { MessageQueue mQ = (MessageQueue)sender; Message m = mQ.EndReceive(e.AsyncResult); MSMQHelper.SendMessage(m.ResponseQueue, beacon.GetServerData(), "ServerData"); mQ.BeginReceive(); }
void SendRequest(PlayerDataModel model) { Message m = new Message() { Formatter = new JsonMessageFormatter(), Body = JsonConvert.SerializeObject(model) }; MSMQHelper.SendMessage(databaseConsumerQueue, m); }
private static void SendMessage() { //MessageQueue messageQueue = InitMSMQ(_msmqPath); //Message message = new Message(); //message.Body = "kangwl"; //message.Priority = MessagePriority.High; //messageQueue.Send(message); MSMQHelper.MessageModel<string> messageModel=new MSMQHelper.MessageModel<string>(); MSMQHelper msmqHelper = new MSMQHelper(_msmqPath); //Stopwatch stopwatch = new Stopwatch(); //stopwatch.Start(); //var re = Parallel.For(0, 30, (i, s) => { // messageModel.Data = "k"+i; // messageModel.Label = "message1"; // msmqHelper.SendMessage(messageModel); // Console.WriteLine(i); //}); //var re = Parallel.ForEach(Partitioner.Create(0, 20000), (a, b, c) => { // for (int i = a.Item1; i < a.Item2; i++) { // msmqHelper.SendMessage(messageModel); // Console.WriteLine(i); // } //}); for (int i = 0; i < 20; i++) { messageModel.Data = "k" + i; messageModel.Label = "message1"; msmqHelper.SendMessage(messageModel); Console.WriteLine(i); } //stopwatch.Stop(); //Console.WriteLine("send ok"); //Console.WriteLine(stopwatch.ElapsedMilliseconds); //if (re.IsCompleted) { // Console.WriteLine("send ok"); // Console.WriteLine(stopwatch.ElapsedMilliseconds); // msmqHelper.Dispose(); //} //msmqHelper.SendMessages(new List<MSMQHelper.MessageModel<string>>() {messageModel, messageModel, messageModel, messageModel, messageModel }); //Console.WriteLine("send success"); }
static void Main(string[] args) { MSMQHelper.SetClientQueuePath("FormatName:Direct=TCP:xxx.xxx.xxx.xxx\\private$\\Test"); MSMQHelper.CreateQueue("Test"); Console.WriteLine("The Queue is running"); while (true) { for (int i = 0; i < 10; i++) { MSMQHelper.SendMessage("Mes:" + i + " over"); Thread.Sleep(100); } Thread.Sleep(1000); Console.WriteLine(MSMQHelper.GetCount().ToString()); } }
/// <summary> /// 给指定用户发送信息 /// </summary> /// <param name="loginName"></param> /// <param name="message"></param> public void Send(string loginName, string message) { var user = Users.SingleOrDefault(c => c.LoginName == loginName); //表示用户离线状态 if (user == null) { MessageCenter center = new MessageCenter() { Content = message, ReceiveUserID = loginName, SendUserID = HttpContext.Current.User.Identity.Name }; //仍回队列 MSMQHelper.SendMessage <MessageCenter>(center); } else { ZmHubContext.Clients.Groups(new string[] { loginName }).notice(message); } }
private static void UserInputRecieved(object sender, ReceiveCompletedEventArgs e) { MessageQueue mQ = (MessageQueue)sender; Message m = mQ.EndReceive(e.AsyncResult); try { switch (Enum.Parse(typeof(TokenRequestType), m.Label)) { case TokenRequestType.CreateToken: { //UserModel originModel = MSMQHelper.GetMessageBody<UserModel>(m); UserModel userModel = MSMQHelper.GetMessageBody <UserModel>(m); Console.WriteLine("UserModel received!"); MSMQHelper.SendMessage(beaconInputMQ, "ServersData", "ServersData", beaconResponseMQ); ServersData data = MSMQHelper.GetMessageBody <ServersData>(MSMQHelper.ReceiveMessage(beaconResponseMQ, new TimeSpan(0, 0, 5))); JWTPayload payload = new JWTPayload() { UserID = userModel.UserID, ServersInfo = data }; userModel.Token = JWTManager.CreateJWT(JWTManager.CreateClaims <JWTPayload>(payload), 5).RawData; userModel.TokenResponse = TokenResponse.Created; Message userResponse = new Message() { Formatter = new JsonMessageFormatter(), Body = JsonConvert.SerializeObject(userModel), Label = userModel.UserID }; MSMQHelper.SendMessage(m.ResponseQueue, userResponse); Console.WriteLine("Token send to {0}", m.ResponseQueue.Path); break; } case TokenRequestType.VerifyToken: { UserModel userModel = MSMQHelper.GetMessageBody <UserModel>(m); if (JWTManager.VerifyToken(userModel.Token)) { userModel.TokenResponse = TokenResponse.Valid; userModel.Message = "Token Valid, Connecting to Server!"; Console.WriteLine("\n=======TOKEN======"); Console.WriteLine(userModel.Token); Console.WriteLine("=======TOKEN======\n"); Message userResponse = new Message() { Formatter = new JsonMessageFormatter(), Body = JsonConvert.SerializeObject(userModel), Label = userModel.UserID }; MSMQHelper.SendMessage(m.ResponseQueue, userResponse); Console.WriteLine("Token was valid!"); Console.WriteLine("Response send to {0}", m.ResponseQueue.Path); } else { userModel.TokenResponse = TokenResponse.Invalid; userModel.Message = "Session Token no longer valid!\n Please login, using credentials."; Message userResponse = new Message() { Formatter = new JsonMessageFormatter(), Body = JsonConvert.SerializeObject(userModel), Label = userModel.UserID }; MSMQHelper.SendMessage(m.ResponseQueue, userResponse); Console.WriteLine("Token was invalid!"); Console.WriteLine("Response send to {0}", m.ResponseQueue.Path); } break; } } } catch (Exception error) { Console.WriteLine("Couldn't read message!"); Console.WriteLine(error); Console.WriteLine(error.Message); UserModel userModel = new UserModel() { UserID = JsonConvert.DeserializeObject <UserModel>(m.Body.ToString()).UserID, RequestType = RequestTypes.Error, TokenResponse = TokenResponse.Invalid, Message = "Token Request Failed: " + error.Message }; Message userResponse = new Message() { Formatter = new JsonMessageFormatter(), Body = JsonConvert.SerializeObject(userModel), Label = userModel.UserID }; MSMQHelper.SendMessage(m.ResponseQueue, userResponse); } mQ.BeginReceive(); }