【发布时间】:2015-08-16 14:22:35
【问题描述】:
我正在为 iOS 和 Android 创建移动应用程序。问题是当服务器上的任何数据发生变化时,我无法通知移动设备。
我找到了 3 个解决方案,每个都有缺点和优点。
使用推送通知。由于 iOS 总是向用户显示通知,这根本不是一个解决方案。我也不知道通知是否会发送到设备或何时发送。
每隔 X 秒询问服务器是否存在任何更改。我不想这样做,因为我认为创建太多 HTTP 连接并关闭它们不是一个好主意。此外,如果在设备询问后立即更改数据,设备上的信息更改将延迟发生。
使用网络套接字。我的应用程序的一次使用预期是~2 分钟。所以 web socket 看起来是个不错的选择,因为应用程序会很快终止或进入后台状态,并且电池消耗不会太多。此外,所有服务器端数据更改都会及时到达设备。但我对网络套接字知之甚少。我的意见可以接受吗?还有多少并发连接可以由我的服务器完成。是不是也是个问题。
这是我的所有解决方案。
【问题讨论】:
-
这需要什么样的应用程序..我建议使用 websockets,因为我发现它对服务器到客户端的通信很有用..
-
应用程序的对象声明为 open-willCloseInTenMinutes-closed。我必须在对象状态发生变化时通知用户——几乎是准确的时间——。任何用户都不应将关闭的对象视为打开或将关闭
-
我建议使用网络套接字,因为您的服务器似乎需要非常频繁且即时地与客户端通信。
-
我的情况不是很频繁,但即时是。