GCM也使用套接字。但是,它们由系统管理,因此可以执行常规应用程序无法执行的操作。通常,对于任何类型的“推送”通知,系统都需要有一个长期存在的套接字,而“通知”只是该套接字上收到的一些数据。在始终连接的计算机(例如台式机或服务器)上实现所有这些并不是很难,但是在移动设备上还存在其他挑战。例如,交换网络(3G
<->
WiFi)超出范围,保持连接而没有始终保持设备处于唤醒状态(并且在此过程中会耗尽电池)。所以是的,您可以使用service,sockets和您自己的服务器来实现类似的功能,但是在移动设备上这并非易事。
请访问http://mqtt.org/以获取开源实施。



