Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android客户端告诉Syn&;接收重新确认_Android_Tcp Ip_Mqtt - Fatal编程技术网

Android客户端告诉Syn&;接收重新确认

Android客户端告诉Syn&;接收重新确认,android,tcp-ip,mqtt,Android,Tcp Ip,Mqtt,我正在为Android应用程序工作,我需要我的手机始终连接到我的服务器MQTT 但我的手机可能会失去他的连接(电话:[FIN;ACK];服务:[FIN;ACK];电话:[ACK]);之后,当他发送[SYN]消息以将其连接到服务器MQTT时,服务器将发送[RST,ACK]。。。这是在我的应用程序的服务处于活动状态时发生的 在我的情况下,我必须重新启动我的服务器,如果我想我的手机可以重新连接,但我不能重新启动我的服务器(多电话可能,我需要实时性能) 是否可以在不重新启动服务器的情况下连接手机 谢谢你

我正在为Android应用程序工作,我需要我的手机始终连接到我的服务器MQTT

但我的手机可能会失去他的连接(电话:[FIN;ACK];服务:[FIN;ACK];电话:[ACK]);之后,当他发送[SYN]消息以将其连接到服务器MQTT时,服务器将发送[RST,ACK]。。。这是在我的应用程序的服务处于活动状态时发生的

在我的情况下,我必须重新启动我的服务器,如果我想我的手机可以重新连接,但我不能重新启动我的服务器(多电话可能,我需要实时性能)

是否可以在不重新启动服务器的情况下连接手机

谢谢你给我时间

致意


纪尧姆

我认为你的问题与我的问题相似。连接是半封闭的。有关详细信息,请参阅

我解决这个问题的方法是每5秒添加一次keep alive MSG。从手机到服务器,ii)如果15秒内没有输入数据,请服务器关闭连接。见和www.pfod.com.au

MQTT包括keepAlive(PING请求msg),因此您只需要修改客户端以指定较短的keepAlive间隔 看见 让MQTT服务器在停止获取数据或保留MSG后更快地关闭连接

尽管上述链接表明 “代理将关闭以前与同一客户端的连接(由同一客户端标识符确定),并与新连接的客户端建立连接。此行为确保半开放连接不会妨碍同一客户端的新连接建立。”


所以你根本不应该有这个问题

在移动环境中期望近实时的网络性能是不可行的,因为手机总是会在连接速度改变(LTE到HSPA到Edge)或刚刚超出覆盖范围时不可用。你永远无法缩短TCP套接字关闭逻辑。谢谢,我知道实时是不可能的,但我需要与dect系统(sms)竞争,我无法切断所有手机来营救其中一个。。。我不能通过手机做任何事情?鉴于MQTT部分都应该作为一项服务运行(在放弃的线程上没有网络),请订阅来自Android的网络状态广播消息,使用这些消息中断连接并根据需要重建(hanks;)我将测试它=P