【发布时间】:2015-10-24 03:28:17
【问题描述】:
我正在为一个 App Android 工作,我需要我的手机始终连接到我的服务器 MQTT...
但是我的手机可能会失去连接(Tel :[FIN;ACK]; Serv:[FIN;ACK];Tel:[ACK]);之后,当他发送 [SYN] 消息以将其连接到服务器 MQTT 时,服务器发送 [RST,ACK]... 而这正是我的应用程序服务处于活动状态时。
在我的情况下,如果我希望我的手机可以重新连接,我必须重新启动我的服务器,但是,我无法重新启动我的服务器(可以使用多部手机,并且我需要实时性能)。
有没有可能在不重新启动服务器的情况下连接我的手机?
感谢您的时间。
最好的尊重
纪尧姆
【问题讨论】:
-
期望在移动环境中实现近乎实时的网络性能是不可行的,因为手机连接速度(LTE 到 HSPA 到 Edge)或刚刚用完,所以总会有时间无法使用手机覆盖范围。您永远无法缩短 TCP 套接字关闭逻辑。
-
谢谢,我知道实时是不可能的,但我需要与一个 dect 系统(短信)竞争,我不能切断所有电话来拯救其中一个……我什么也做不了通过电话?
-
鉴于 MQTT 部分都应该作为服务运行(前台线程上没有网络)订阅来自 Android 的网络状态广播消息,使用这些来断开连接并根据需要重建
-
谢谢 ;) 我会测试一下 =P