2016-02-02 78 views
0

我想問問mqtt套接字錯誤。Android mqtt(mosquitto)somtime客戶端(客戶端ID)上的套接字錯誤,斷開連接

我有Ubuntu的服務器。我用蚊子服務。

所以我連接Android客戶端。我用paho 1.0.3 lib

但有時連接丟失重複。

服務器日誌

1454388230: New client connected from 000.000.000.000 as IM-A910S9fdeedcc8ef15c26paho181519283686687 (c1, k5). 
1454388236: Client IM-A910S9fdeedcc8ef15c26paho181519283686687 has exceeded timeout, disconnecting. 
1454388236: Socket error on client IM-A910S9fdeedcc8ef15c26paho181519283686687, disconnecting. 
1454388236: New connection from 000.000.000.000 on port 1883. 
1454388236: New client connected from 000.000.000.000 as IM-A910S9fdeedcc8ef15c26paho181522670926999 (c1, k5). 
1454388243: Client IM-A910S9fdeedcc8ef15c26paho181522670926999 has exceeded timeout, disconnecting. 
1454388243: Socket error on client IM-A910S9fdeedcc8ef15c26paho181522670926999, disconnecting. 
1454388243: New connection from 000.000.000.000 on port 1883. 
1454388243: New client connected from 000.000.000.000 as IM-A910S9fdeedcc8ef15c26paho181525239226685 (c1, k5). 
1454388244: Client IM-A910S9fdeedcc8ef15c26paho181525239226685 disconnected. 
1454388245: New connection from 000.000.000.000 on port 1883. 
1454388245: New client connected from 000.000.000.000 as IM-A910S9fdeedcc8ef15c26paho181527274326928 (c1, k5). 
1454388252: Client IM-A910S9fdeedcc8ef15c26paho181527274326928 has exceeded timeout, disconnecting. 
1454388252: Socket error on client IM-A910S9fdeedcc8ef15c26paho181527274326928, disconnecting. 
1454388261: New connection from 000.000.000.000 on port 1883. 
1454388261: New client connected from 000.000.000.000 as IM-A910S9fdeedcc8ef15c26paho181534506521167 (c1, k5). 
1454388267: Client IM-A910S9fdeedcc8ef15c26paho181534506521167 has exceeded timeout, disconnecting. 
1454388267: Socket error on client IM-A910S9fdeedcc8ef15c26paho181534506521167, disconnecting. 
1454388267: New connection from 000.000.000.000 on port 1883. 
1454388267: New client connected from 000.000.000.000 as IM-A910S9fdeedcc8ef15c26paho181537844139396 (c1, k5). 
1454388274: Client IM-A910S9fdeedcc8ef15c26paho181537844139396 has exceeded timeout, disconnecting. 
1454388274: Socket error on client IM-A910S9fdeedcc8ef15c26paho181537844139396, disconnecting. 
1454388274: New connection from 000.000.000.000 on port 1883. 
1454388274: New client connected from 000.000.000.000 as IM-A910S9fdeedcc8ef15c26paho181540325027833 (c1, k5). 
1454388275: Client IM-A910S9fdeedcc8ef15c26paho181540325027833 disconnected. 
1454388286: New connection from 000.000.000.000 on port 1883. 
1454388286: New client connected from 000.000.000.000 as IM-A910S9fdeedcc8ef15c26paho181543990640541 (c1, k5). 
1454388293: Client IM-A910S9fdeedcc8ef15c26paho181543990640541 has exceeded timeout, disconnecting. 
1454388293: Socket error on client IM-A910S9fdeedcc8ef15c26paho181543990640541, disconnecting. 
1454388293: New connection from 000.000.000.000 on port 1883. 
1454388293: New client connected from 000.000.000.000 as IM-A910S9fdeedcc8ef15c26paho181548653565128 (c1, k5). 

和Android的錯誤是

W/System.err: connection lost (32109) - java.io.EOFException 
W/System.err:  at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) 
W/System.err:  at java.lang.Thread.run(Thread.java:841) 
W/System.err: Caused by: java.io.EOFException 
W/System.err:  at java.io.DataInputStream.readByte(DataInputStream.java:77) 
W/System.err:  at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) 
W/System.err:  at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) 

我不知道爲什麼有例外。

+0

你有什麼設置客戶端keepalive值? – hardillb

+0

原始值是10秒。我改變了30秒。但T_T發生同樣的問題 –

回答

0

嘗試將ClientID更改爲靜態值,例如clientId =「exampleTest」+「-sub」;它與我一起工作,但我仍然在尋找爲什麼它發生了兩次註冊clientID或將其保留在某個文件中