3

我需要向我的客户端发送一些数据,并且我想知道使用推送通知是否比使用套接字更好。

我听说有人说套接字不好,因为如果手机更改它的 IP,它们可能会停止工作(无论如何这种情况多久发生一次)。

套接字有多可靠>您何时更愿意使用推送通知?

4

4 回答 4

6

推送通知适用于:

- 当您想将信息发送到用户没有首先请求的设备时(通常是一个 ping,表明服务器上有用户想要下载的新数据)

- 当无法保证应用程序正在运行时。

套接字用于:

- 当应用程序运行时 - 也就是,用户点击他们想要下载的东西,数据通过套接字发送。

此外,在 Android 上,推送通知的最大数据量为 4K,因为(如前所述)它们仅用于通知,而不是传输大量数据。为此,无论如何您都需要使用套接字。此外,您需要处理套接字确实因各种原因停止发送数据的事实 - 用户跳 wifi 网络、穿过隧道、开车穿过接收信号不稳定的区域等。

于 2012-05-29T22:24:56.880 回答
2

推送通知可以在应用程序在后台和前台使用时使用,但它们不像套接字那样可靠。

通常,一个好的解决方案是同时使用两者。您可以在应用程序打开时通过刷新套接字或轮询服务器来响应推送通知。不过,我会避免完全依赖推送通知。只需在您的应用关闭时使用它们。

于 2012-05-29T22:14:34.037 回答
1

推送通知将在您的应用程序未运行时使用,并且 UILocalNotifications 是在应用程序未运行时向应用程序发送信息的唯一方法。

于 2012-05-29T22:11:59.933 回答
1

我听说有人说套接字不好,因为如果手机更改它的 IP,它们可能会停止工作(无论如何这种情况多久发生一次)。

我可以给你一个公认的不常见的场景......

我当地的酒吧提供免费无线网络。所以我和朋友喝了一杯,我的手机自动连接到酒吧的无线网络。一旦我离开酒吧并且我不在范围内,如果我启用了移动互联网,我的手机将连接到我的提供商的数据网络。

在回家的路上,我在当地的街角商店停下来买些杂货。某个时候,我在商店上方的业主住所设置了 wi-fi,我的手机配置为记住他们的 wi-fi 连接详细信息,以便连接。我离开商店,超出范围,我的手机再次连接到我的提供商的数据网络。

我决定今晚要吃中国菜,然后停在我家附近的外卖店。我还为他们设置了 Wi-Fi 系统,我的手机会自动连接到他们的接入点。我离开商店,我的手机连接到我的提供商的数据网络。

我回到家,然后我的手机连接到我自己的 wi-fi 网络。

因此,在大约 400 码(约 300 米)的距离内,我的手机将改变连接状态 6 次。

抱歉有点冗长,但这是一个真实的场景 - 我的业务是为私人和小型企业用户提供 IT 支持。

换句话说,无论您的应用程序做什么,您都需要满足这样一个事实,即移动技术上的网络可能会多次更改,并且您需要监控状态的变化,并在必要时拆除并重新创建现有连接。

直接套接字连接可能更直接,需要对网络更改进行额外处理。假设推送服务器设置正确,推送通知具有异步的优势。

于 2012-05-29T22:49:25.597 回答