2015-06-11 75 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

尝试使用他们为榜样聊天应用让自己憋足了:)

相关问题