ios – Websockets和轮询基于游戏服务器的长轮询之间的差异

ios – Websockets和轮询基于游戏服务器的长轮询之间的差异,第1张

概述我正在为iOS游戏编写服务器.游戏是基于回合的,服务器需要将信息推送给客户的唯一时间是通知对方的举动. 如果有人可以评论使用websockets和长轮询之间的性能和易用性差异,我很好奇.此外,如果我使用websockets,我应该只使用它来接收信息和发送POST请求的所有其他或应该通过websocket所有的通信? 另外,如果我有兴趣也可以制作一个网络客户端,还有什么可以考虑的websockets 我正在为iOS游戏编写服务器.游戏是基于回合的,服务器需要将信息推送给客户的唯一时间是通知对方的举动.

如果有人可以评论使用websockets和长轮询之间的性能和易用性差异,我很好奇.此外,如果我使用websockets,我应该只使用它来接收信息和发送POST请求的所有其他或应该通过websocket所有的通信?

另外,如果我有兴趣也可以制作一个网络客户端,还有什么可以考虑的websockets和长轮询?

解决方法

What is Long polling ?


传统轮询技术的一个变体,允许从服务器到客户端的信息推送.通过长轮询,客户端以与普通轮询类似的方式从服务器请求信息.

>如果服务器没有可用的客户端信息,
而不是发送空的响应,服务器保存该请求
并等待一些信息可用.
>一旦信息可用(或在适当的超时后),
向客户端发送完整的响应.客户端会正常
然后立即从服务器重新请求信息,这样
服务器几乎总是有一个可用的等待请求
可用于响应事件传送数据.

在Web / AJAX上下文中,漫长的轮询也称为Comet编程.

What about Websockets ?


WebSockets提供客户端和服务器之间的持久连接,双方可以随时使用该连接开始发送数据.

>客户端通过已知的进程建立WebSocket连接
作为WebSocket握手.这个过程从客户端开始
向服务器发送常规http请求.
>此请求中包含一个升级标头,通知服务器
客户端希望建立一个WebSocket连接.

结论:

如果需要实时通讯,您可以很好地选择websockets.

但在长轮询中:

Web客户端和Web服务器之间的连接保持打开,以便当服务器具有新的信息时,可以将其推送到客户端.然后,该请求完成.然后在客户端和服务器之间进行一个新的请求,然后等待来自服务器的另一个更新.由于http / 1.1保持活动,相同的TCP连接通常在多个请求中持续打开.

参考和其他考虑:

PubNub long polling vs sockets – mobile battery life

What are Long-Polling,Websockets,Server-Sent Events (SSE) and Comet?

long polling in objective-C

Websocket Introduction

Websocket Vs Long Polling

Using Websockets in Apps

Websocket Application

PushTechnology-Long Polling

总结

以上是内存溢出为你收集整理的ios – Websockets和轮询基于游戏服务器的长轮询之间的差异全部内容,希望文章能够帮你解决ios – Websockets和轮询基于游戏服务器的长轮询之间的差异所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1111147.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存