Pet*_*ang 4 javascript tcp http websocket
我是网络开发的新手,我只是想知道一些性能比较.
我正在网上建立一个俄罗斯方块战斗游戏.大多数游戏逻辑都在服务器内部,该服务器是用C++构建的.对于客户,我打算使用cocos2d-js,这基本上是javascript.
玩家的行为会影响对手.首先,用户的输入需要正确到达服务器,服务器将输入应用于逻辑,并将新的游戏状态发送回客户端.客户端只需要在屏幕上表示精灵.
我最初的计划是使用TCP套接字实现它,因为它可能需要低延迟.但是,我刚刚意识到我们不在网络上使用TCP套接字.
在这种应用程序中使用HTTP连接是否可行?我应该试试网络套接字吗?优缺点都有什么?
你当然可以使用HTTP,但对于实时通信,最好的选择是使用websockets.
原始套接字(又称TCP套接字)不是W3C标准的一部分.尽管有些浏览器已实现它们,但我建议您避免使用它们,除非您不关心使用该特定浏览器锁定应用程序.
通常,使用Websockets是您的最佳选择,它们提供与原始套接字相同的性能,并且更易于使用JS.不幸的是,使用C++服务器可能是这更复杂,因为你的服务器必须实现的协议,你可以找到像在互联网上的一些实现这一之一,例如.
或者,如果您希望与客户端/服务器进行更简单的集成,您可以尝试使用Node.js来实现服务器逻辑,并使用Socket.io库来处理通信,这也将优雅地处理不兼容的浏览器.请注意,Socket.io 使用不同的协议,因此如果您想避免执行大量额外工作,我建议您不要尝试将其与当前的C++服务器一起使用.
总结一下
我个人的建议是尽可能避免使用TCP套接字,并坚持标准.
编辑:显然,TCP套接字可能最终成为W3C标准,API仍然是草稿(和最近的一个),所以我仍然建议不要使用它们(最新的Chrome有实验性实现).
| 归档时间: |
|
| 查看次数: |
828 次 |
| 最近记录: |