相关疑难解决方法(0)

WebSockets能耗

在移动设备(iPhone/Android)上,通过实施WebSockets与HTTP对电池消耗的影响是什么?

假设我正在构建一个即时消息应用程序并有两个选项:

  1. 依靠推送通知来通知设备新消息,然后通过REST API获取该消息.
  2. 在用户启动应用程序时建立WebSocket连接,并在应用程序处于活动状态时维护该连接.服务器将所有消息直接转发到设备,而不是使用推送通知.

有人告诉我,维持一个持久的WebSocket连接将是一个巨大的电池耗费因为它需要天线持续活动,而不是在每次请求后断电 - 但这是真的吗?

这个答案表明,在iOS上,每个设备始终与推送通知服务保持持久连接(类似于WebSockets,我猜),那么这是不是表明设备的天线无论如何都是24/7运行?

对于即时消息应用程序来说,HTTP请求的额外开销是非常微不足道的,但是在需要不断下载大量项目的应用程序中,持久的WebSocket连接将非常有用.有关在移动设备上维护长期WebSocket连接的任何见解(特别是有关电池消耗)将非常有用!

android http push-notification websocket ios

37
推荐指数
1
解决办法
6731
查看次数

推送服务器如何知道将其通知发送到哪里

当我在手机上收到通知时,推送服务器如何与设备通信?

客户端和服务器之间是否有持续的连接?据我所知,像 WebSockets 这样的东西会给所有这些设备的服务器端带来巨大的负载。

它是客户端的某种轮询机制吗?似乎仍然是一个巨大的请求负载。

Does the client keep the server up to date with his IP address? How comes no firewall blocks this request (like the one of the router when using Wifi)?

Thanks!

mobile android push-notification ios

9
推荐指数
1
解决办法
2384
查看次数

真实的跨平台分散式异步对等通信

我对网络编程的了解有限,因此,所有评论都非常受欢迎.基本上我的问题归结为以下问题:

Q1.是否存在分散的异步跨平台点对点通信

让我解释一下自己.

  • 如果我们在具有实际IP地址的计算机上运行两个http服务器,那么显然答案是肯定的,假设有人为交互编写协议.

  • 更进一步,如果它们中的一个(或两者)在路由器后面,那么,通过端口转发,仍然可以建立通信.然而,这里的问题开始是因为如果有人想在后台运行这样的服务器,比如说在手机中,依赖这个服务器的应用程序真的可以在家里工作时(我们真的不能指望请求端口转发)到处都是).

  • 但即便如此,

  • Q2.当有人不使用Wi-Fi时,移动电话是否从电信公司获得实际的IP地址?

  • 如果这是真的,那么显然可以通过在智能手机上运行http服务器而不使用Wi-Fi来实现跨平台的异步对等通信.(我知道这不方便,但肯定是可行的.)

最后,我能想到的两个(也许还有更多)相关问题是:

根据Skype的答案,它说:如果其中一个被叫方或两个都没有公共IP,那么它们会通过UDP或TCP将语音流量发送到另一个在线Skype节点. 因此,似乎Skype中没有直接通信,因为他们必须使用中间人进行这种情况.

关于Viber,我找不到这个特定问题的完整答案.人们通过Viber中央服务器互相交谈,还是建立直接连接?当然,如果他们确实建立了直接连接,那么我真的想知道他们如何管理这样的事情,因为手机可能有也可能没有物理地址.即使Viber没有运行而且我在路由器后面,Viber消息如何从我的朋友那里发送到我的手机?

我猜Viber的答案实际上是推送通知,但据我所知,推送通知的所有变体都依赖于开放连接,然后应用程序的服务器通过这样的连接将通知发送给客户端.所以,这种方法让我们觉得它是异步的,但实际上并非如此.我们在欺骗,因为与服务器之间存在持续开放的连接,此外,据我所知,应用程序服务器必须通过该服务器推送通知.示意图:

A>中央应用服务器>中央服务器w /打开连接到我的手机>我

所以,这似乎又是一种集中的方法.

老实说,我能想到的唯一方法是分散和异步(在移动电话上)是在每个平台/设备上运行http服务器,但这是以不使用Wi-Fi为代价而假设一家电信公司真的为每部手机分配一个物理IP地址(我不知道它是否属实,是吗?).

WASTE,暗网,F2F等怎么样?它们是否在某些相关方之间更直接的异步通信意义上提供了优势?是否存在使用此类通信方法的实际应用程序(也包括移动电话).

真的,这不是我想要解决的实际问题,但我想知道最先进的技术是什么,以便我可以弄清楚如何从那里开始.所以,所有评论都非常受欢迎.如果您有关于最新技术的参考资料我也想了解它们,但简短的描述也会很好.

我提前感谢你所有的时间和精力.

p2p asynchronous communication-protocol httpserver push-notification

6
推荐指数
1
解决办法
3408
查看次数

如何在iOS应用程序上实现Apple推送通知服务?

有没有说明如何整合所有样本项目APNSIPhone,以及如何获得deviceToken?

xcode push-notification apple-push-notifications ios

3
推荐指数
1
解决办法
1万
查看次数

将 FCM 与 AWS SNS 和 APNS 结合使用是否有意义?

我读了几篇文章,其中很好地解释了 iOS 中的推送通知如何工作的。最近我在SNS 上遇到了FCMFCM。我们在后端已经有许多模块使用 AWS SNS 来推送通知。因此,在这种情况下,我们不使用 FCM 替换 AWS SNS 而是让 SNS 命中 FCM 端点,然后 FCM 可以联系 APNS 将通知推送到应用程序才有意义。

  • 是否有意义?

  • 什么是理想的场景?(由于我们使用的是 FCM,我们是否应该根本不使用 SNS,因为两者都是推送通知服务? - 我们不应该使用这两个中的任何一个而不是这两个)

  • 任何人都可以用基本图表来解释 - 添加 FCM 后图片将如何变化?

首先,我们对 FCM 提供的分析感兴趣。

apple-push-notifications ios firebase swift firebase-cloud-messaging

1
推荐指数
1
解决办法
2382
查看次数