2017-09-27 29 views
0

我試圖創建一個駱駝/ TCP的Netty客戶端的工作原理如下:駱駝Netty的客戶端:連接,然後等待/監聽服務器TCP

  1. 連接到remoteserver:1234
  2. 發送握手消息(假裝這是一個字符串「握手」)
  3. 離開這個連接打開
  4. 等待/監聽來自服務器的TCP報文和回覆他們

這是一個簡單的hello-world服務器。

from("netty:tcp://localhost:8001?textline=true&sync=true") // 
      .process((exchange) -> { 
       String msgReceived = exchange.getIn().getBody(String.class); 
       exchange.getOut().setBody("hello " + msgReceived); 
      }); 

我可以打開的文本中的命令行TCP連接到這一點,類型,並接受我的問候世界的答覆。

現在我該如何構建一個同樣等待消息和回覆的類似客戶端?

+0

使用駱駝這樣的客戶是行不通的。記住駱駝路線具有IN/OUT和IN的消息交換模式,即僅請求/回覆和請求。如果你需要這樣的客戶端,只需使用普通的netty。 – Namphibian

+0

您可以設置clientMode = true選項 - 請參閱文檔 –

回答

0

當你說「等待/監聽來自服務器的TCP消息並回復它們」時,你正在顛倒角色,現在客戶端就像服務器,而服務器就像客戶端。

你可以做的是建立在客戶端歸路監聽指定端口上,並使用初始握手消息到服務器通信客戶端的IP和端口。

+0

我不確定它是否提供瞭解決方案,但同意您對互換角色 – Gahan

相關問題