[英]How to send Messages in spring boot via websocket broker in the order they were submitted?
[英]Is it possible to send synchronous messages via Spring WebSocket?
我有一個Spring應用程序,它通過Spring WebSocket異步發送消息給另一台服務器。 但是對於特定情況我需要同步發送消息,我應該繼續使用來自服務器的傳入響應的過程。
我不想僅為此進程進行HTTP調用,因為已經有一個開放的TCP連接,我想使用它。
例如,在Tyrus WebSocket實現中,可以通過同步或異步發送消息
session.getBasicRemote().sendText(message);
session.getAsyncRemote().sendText(message);
相關的Tyrus文檔鏈接 。
順便說一句,我沒有像Spring WebSocket那樣使用像STOMP這樣的sub-protocol
。
您可以將自定義模式添加到需要回答的郵件中。
假設您要將表單服務器A發送到服務器B:
sendToB("REPLY ME!");
在您實際發送郵件之前,服務器A會在其中放置一個自定義短語,例如:
sendToB("REQUEST:1234" + "#$#" + "REPLY-ME!");
當服務器B收到消息時:
String[] parts = message.split("#$#");
if (parts.length > 0) {
String[] keyValue = parts[0].split(":");
sendToA("RESPONSE:" + keyValue[1] + "#$#" + "CALM DOWN!");
}
最后,服務器A收到消息:
"RESPONSE:1234#$#CALM DOWN!"
然后完成同步消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.