private void SubscribeStomp() { var subscription = new StompMessage(StompFrames.SUBSCRIBE); subscription["id"] = "subscription"; subscription["destination"] = $"/queue/{queueName}"; webSocket.Send(serializer.Serialize(subscription)); }
private void ConnectStomp() { var connect = new StompMessage(StompFrames.CONNECT); connect["accept-version"] = "1.2"; connect["host"] = "/"; // First number Zero mean client not able to send Heartbeat, // Second number mean Server will sending heartbeat to client instead connect["heart-beat"] = "0,10000"; webSocket.Send(serializer.Serialize(connect)); }
private void ws_OnMessage(object sender, MessageEventArgs e) { StompMessage msg = serializer.Deserialize(e.Data); if (msg.Command == StompFrames.CONNECTED) { SubscribeStomp(); } else if (msg.Command == StompFrames.MESSAGE) { Console.WriteLine(e.Data); } }
/// <summary> /// Serializes the specified message. /// </summary> /// <param name = "message">The message.</param> /// <returns>A serialized version of the given <see cref="StompMessage"/></returns> public string Serialize(StompMessage message) { var buffer = new StringBuilder(); buffer.Append(message.Command + "\n"); if (message.Headers != null) { foreach (var header in message.Headers) { buffer.Append(header.Key + ":" + header.Value + "\n"); } } buffer.Append("\n"); buffer.Append(message.Body); buffer.Append('\0'); return(buffer.ToString()); }
public void SendMessage(string message) { Console.WriteLine("--------------------------------------"); Console.WriteLine($"------- Enviando mensagem para a fila {this.queueName}..."); Console.WriteLine("--------------------------------------"); var content = new { Subject = "Stomp client", Message = message }; var broad = new StompMessage(StompFrames.SEND, JsonConvert.SerializeObject(content)); broad["content-type"] = "application/json"; // Nome da Fila broad["destination"] = $"/queue/{queueName}"; webSocket.Send(serializer.Serialize(broad)); Console.WriteLine("--------------------------------------"); Console.WriteLine($"------- Mensagem enviada para a fila {this.queueName}..."); Console.WriteLine("--------------------------------------"); }