我想創建一個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的測試應用程序,並且通信正常。所以我有幾個問題:
我需要socket.io嗎?如果是,爲什麼?使用由Java WebSocket默認項目創建的默認代碼之間有什麼區別?
如果我需要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控制檯中出現了更多錯誤。但是我沒有得到建立連接的事件觸發器。所以我覺得,這是行不通的。(可選問題)我可以只使用
socket.io
並使我的服務器代碼安全嗎?所以沒有人可以閱讀代碼?我猜不會?或者有沒有其他方法可以解決我的問題?我仍然在尋找最適合我的情況的技術。