2011-02-09 89 views
2

我想寫一個與Java服務器交談的Java SE客戶端應用程序。想象一下類似於在線遊戲的情況,其中有大量的流量和潛在的多個客戶端連接到同一臺服務器。客戶端和服務器之間顯示客戶端 - 服務器雙向通信的ActiveMQ示例?

  1. 恆通信
  2. 溝通會失靈,帶外的這樣既不知道到底也沒有什麼期待消息時,它可能會收到一個或下時。
  3. 服務器不知道客戶端IP,無法建立通信回到客戶端(因爲可能有NAT)。所以任何開放的端口都必須從客戶端發起。
  4. 實際有效負載將被序列化字節。我打算使用Protocol Buffers將消息封送到網絡上,以便傳輸信封也必須是輕量級的。
  5. 客戶端是Java SE,但可能有一天它可能是C++。

ActiveMQ似乎是一個合適的選擇,但因爲我從來沒有像這樣使用它,所以我不確定它是否具有性能或特性。

有人可以建議,如果它是合適的,我可能遇到什麼陷阱,也許建議一個教程,它展示了類似於我正在考慮的東西?

回答

5

呀,我強烈推薦ActiveMQ,它的快速,易於安裝,它可以處理您的所有需求很好。這是tight encoding option將真正壓縮郵件信封大小,它甚至支持一個'useCompression'選項爲您壓縮郵件正文。它也有一個不錯的C++ client

+0

謝謝,你知道一個體面的代碼示例。沒有什麼奇特的,但是展示了客戶端到服務器設置的東西? – locka 2011-02-12 21:25:30