Ios 如何在后台处理TCP连接?用于扑克应用程序服务器客户端应用程序

Ios 如何在后台处理TCP连接?用于扑克应用程序服务器客户端应用程序,ios,tcpclient,poker,Ios,Tcpclient,Poker,我正在开发基于服务器客户端的扑克应用程序。当扑克应用程序在一段时间后进入后台时,由于应用程序无法向服务器发送/接收任何数据包,TCP/IP连接丢失。服务器端插座连接。我怎样才能建立长时间的连接并更新我的游戏界面呢?你要的主题叫做 第一: 当应用程序进入后台时,您无法更新UI。但您可以在使用beginBackgroundTaskWithExpirationHandler时完成对服务器的API请求并将数据保存在手机上。您可以使用此方法编写一个与服务器通信并处理应用程序将接收的所有数据的块。如果应用程

我正在开发基于服务器客户端的扑克应用程序。当扑克应用程序在一段时间后进入后台时,由于应用程序无法向服务器发送/接收任何数据包,TCP/IP连接丢失。服务器端插座连接。我怎样才能建立长时间的连接并更新我的游戏界面呢?你要的主题叫做

第一:

当应用程序进入后台时,您无法更新UI。但您可以在使用beginBackgroundTaskWithExpirationHandler时完成对服务器的API请求并将数据保存在手机上。您可以使用此方法编写一个与服务器通信并处理应用程序将接收的所有数据的块。如果应用程序再次进入前台,您可以使用在后台接收的数据更新您的UI

重要的是,这些后台任务必须在短时间内完成,因此在这里使用无限循环不是一个好主意。否则,iOS将终止您的进程。在你的应用程序被备份后,你真正得到的时间是由iOS决定的

第二:


如果你想保持tcp/ip连接,即使应用程序仍在后台,苹果提供了一个非常强大的后台模式,让你可以在后台随时运行代码。这叫做VoIP服务。不幸的是,你的应用程序应该提供一些VoIP内容,以避免被苹果拒绝。以下是关于这些服务的一些建议。

你真的不能。VoIP应用程序可以使用后台模式套接字,但不能在游戏中使用该模式。您可以使用推送通知,也可以让播放器从桌子上站起来