【问题标题】:Socket programming vs. WebSocket for real-time multiplayer game in AndroidAndroid中实时多人游戏的Socket编程与WebSocket
【发布时间】:2017-07-30 13:26:45
【问题描述】:

我正在使用 Android (java) 开发实时多人游戏,我将 双向连接 的选择范围缩小到 WebSocketSocket 编程

我的要求是:

  • 快速反应时间
  • 高频发送和接收小负载
  • 稳定的连接
  • 安全连接
  • 图像和音频传输
  • 应用内聊天

根据这些要求,我想知道哪个更合适。

谢谢。

【问题讨论】:

  • 投反对票时请添加评论
  • 你知道什么是webSocket,它有哪些普通socket没有的特性吗?如果没有,那么您需要先自我教育,然后提出一个更明智的问题,该问题引用了您需要帮助理解与您的要求相关的特定功能差异。如果你这样做了,那么你需要改写你的问题以提出与其中一些功能差异相关的特定问题。我们不可能告诉你使用哪个。这完全取决于您没有提及的要求。正如你现在的问题所表明的那样,堆栈溢出太宽泛了
  • @jfriend00 好的,我添加了我的应用要求并提出了更具体的问题

标签: sockets tcp websocket


【解决方案1】:

WebSocket 是一个常规的 TCP 套接字连接:

  • 主要是网页浏览器支持,所以可以从Javascript中使用。
  • 以 HTTP 连接开始,允许它轻松跨越代理和防火墙,并利用 cookie 和 Origin HTTP 标头等 HTTP 机制。例如,Websocket 连接将发送浏览器针对该域的 cookie。
  • 使用自己的数据帧协议。
  • 使用自己的 PING/PONG 架构。

如果您不需要任何这些,只需一个套接字就可以了。

【讨论】:

  • 感谢@vtortola 的澄清,但是对于android 中的实时在线多人游戏(如QuizUp),您有什么建议?
  • 我建议以一种可以轻松切换传输的方式来构建您的应用程序。所以你可以从 websockets 入手,因为它为你提供了一些免费的功能,未来如果你需要更细粒度的控制,你可以切换到 sockets。
猜你喜欢
  • 1970-01-01
  • 2015-06-19
  • 2017-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多