【问题标题】:Is ServerSocket a good idea to implement android push notification?ServerSocket 是实现 android 推送通知的好主意吗?
【发布时间】:2012-04-09 06:33:07
【问题描述】:

我想开发没有 C2DM 的推送通知。然后我google了一下,发现了一些实现推送通知的方法。

  1. 轮询 - 不是一个好的解决方案
  2. 短信 - 昂贵的解决方案
  3. 持久连接 - 可接受的解决方案

我知道很多程序员使用长连接来实现推送服务,但是我觉得也太贵了。所以我有了一个想法,通过客户端ServerSocket来实现推送服务。这里有什么问题吗? (例如安全或电池问题等) 每当客户端的网络发生变化时,将IP地址更新到服务器,当事件发生时,服务器会建立与android客户端的连接。

任何 cmets 将不胜感激!

【问题讨论】:

    标签: android push-notification


    【解决方案1】:

    使用 TCP/IP (Socket) 实现有一些缺点。很难实现可靠的服务 因为当 android 客户端的内存变低时,Android 操作系统会终止服务。所以当你的 手机处于睡眠模式或任何其他情况。

    但是你仍然可以通过AndroidPushNotificationsDemo实现服务器端推送到android。有一个叫mqtt的框架。这个框架已经 输入https://github.com/tokudu/AndroidPushNotificationsDemo,当你通过这个你会得到更多的信息\ 链接:

    http://tokudu.com/2010/how-to-implement-push-notifications-for-android/

    在下面的 stackoverflow 线程上有一个类似的帖子。 Push Notifications in Android Platform

    【讨论】:

    • 感谢您的回答!但是,MQTT 是否也使用持久 TCP/IP 连接?我只是想知道在 android 客户端上实现 ServerSocket 是否是一个好主意。 (当推送事件发生时,服务器会为客户端创建套接字)
    • 虽然我找不到使用客户端 ServerSocket 的缺点,但我从您的链接中得到了启发。我只是以一种糟糕的方式想到了解决方案。我真的很感谢你:)
    【解决方案2】:

    我想补充一点,您的流程(无论多么小)都会耗尽电池电量。用户可能会注意到/怀疑.. 从这个角度来看,C2DM 是一个非常好的解决方案

    【讨论】:

    • 你的意思是客户端 ServerSocket 比持久连接浪费更多的电池。我知道 C2DM 是很好的解决方案,但是在我的环境下(包括成本,支持 prev 2.2),我应该使用自己的解决方案:( 无论如何谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多