2015-06-11 74 views
0

我想創建一個HTML5 MMORPG遊戲。爲此,我需要客戶端和服務器之間的低延遲通信。由於選擇HTML5或客戶端技術,我很清楚,我將用JavaScript開發遊戲。我發現有一個名爲socket.io的引擎,可以讓客戶端和服務器之間進行通信。帶有HTML5客戶端的Java WebSocket服務器 - 是否需要socket.io?

但我不想用JavaScript編寫服務器。其中一個原因是我不希望代碼公開,以防止作弊。我的選擇是爲服務器使用C++或Java。在我看來,使用Java更容易(我更熟悉C#,我想這會幫助我)。

我現在的問題是結合Java WebSocket(服務器)和socket.io(客戶端)。但是...我用一個HTML5客戶端(沒有socket.io!)創建了一個帶有Java WebSocket的測試應用程序,並且通信正常。所以我有幾個問題:

  1. 我需要socket.io嗎?如果是,爲什麼?使用由Java WebSocket默認項目創建的默認代碼之間有什麼區別?

  2. 如果我需要socket.io,如何將socket.io與Java WebSockets結合?我找到了一篇關於它的文章(https://oneminutedistraction.wordpress.com/2013/08/12/marrying-socket-io-client-with-java-ee-7s-websocket/),但沒有奏效。我真的不知道爲什麼。我發現,socket.io默認嘗試連接到webservice-url/socket.io,你可以改變它。我改變了它,並在JavaScript控制檯中出現了更多錯誤。但是我沒有得到建立連接的事件觸發器。所以我覺得,這是行不通的。

  3. 可選問題)我可以只使用socket.io並使我的服務器代碼安全嗎?所以沒有人可以閱讀代碼?我猜不會?或者有沒有其他方法可以解決我的問題?我仍然在尋找最適合我的情況的技術。

回答

1

Socket.io支持Web客戶端和服務器之間的實時雙向通信。他們已經解決了您還沒有面對的問題。他們的服務器的節點實現非常容易理解。 也有幾個客戶實現可供選擇: Android-clientJava-Client

嘗試使用他們爲榜樣聊天應用讓自己憋足了:)

相關問題