eclipse-paho / eclipse-paho/paho.mqtt.java

Connection lost (32109) - java.io.EOFException

Open
#429 9 comments 0 reactions 0 assignees View on GitHub
triage
Dominant language
Java
Stars
2.3k
Forks
919
PR merge metrics
No merged PRs in 30d

Description

Please fill out the form below before submitting, thank you!

- [*] Bug exists Release Version 1.2.0 ( Master Branch) > true
- [*] Bug exists in Snapshot Version 1.2.1-SNAPSHOT (Develop Branch) > true

I used [eclipse MQTT][1] for connect to MQTT server.

I can connect to server successfully but when i publish message , i got this error

> Connection lost
msg : Connection lost
loc : Connection lost
cause : java.io.EOFException
excep : Connection lost (32109) - java.io.EOFException

I searched for this problem . but i can't find any true answer ! some link i founded in here {[here][2] , [here][3] , [here][4] , ... }

My code :

private final String DEFAULT_HOST = "31.13.72.5";
private final int DEFAULT_PORT = 443;

public void connect(String protogle) throws Exception {

this.broker = protogle + "://"+ DEFAULT_HOST + ":" + DEFAULT_PORT;
this.mqttClient = new MqttClient(broker,getMqttClientId() ,new MemoryPersistence() );

MqttConnectOptions connOpts = new MqttConnectOptions();
connOpts.setCleanSession(true);
connOpts.setKeepAliveInterval( MQTT_KEEPALIVE);
connOpts.setUserName( getMqttUsername() );
connOpts.setPassword( getMqttPassword().toCharArray() );
//connOpts.setMqttVersion( 3 );//some times it have an error
//connOpts.setSocketFactory(SSLTunnelSocketFactory.getInstance());
Logger.w("Connecting to broker: "+broker);
Logger.w("isConnected:"+mqttClient.isConnected());
try {
IMqttToken cn = mqttClient.connectWithResult(connOpts);
Logger.w("connected");
}catch (MqttException me){
System.out.println("reason "+me.getReasonCode());
System.out.println("msg "+me.getMessage());
System.out.println("loc "+me.getLocalizedMessage());
System.out.println("cause "+me.getCause());
System.out.println("excep "+me);
return;
}

this.mqttClient.setCallback(new MqttCallback() {
@Override
public void connectionLost(Throwable me) {
Logger.w("Connection lost");
System.out.println("msg "+me.getMessage());
System.out.println("loc "+me.getLocalizedMessage());
System.out.println("cause "+me.getCause());
System.out.println("excep "+me);
}

@Override
public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
Logger.w("message Arrived");
}

@Override
public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
Logger.w("deliverd--------");
try {
MqttDeliveryToken token = (MqttDeliveryToken) iMqttDeliveryToken;
String h = token.getMessage().toString();
Logger.w("deliverd message :"+h);
} catch (MqttException me) {
System.out.println("reason "+me.getReasonCode());
System.out.println("msg "+me.getMessage());
System.out.println("loc "+me.getLocalizedMessage());
System.out.println("cause "+me.getCause());
System.out.println("excep "+me);
} catch (Exception e) {
e.printStackTrace();
}
}
});

}

And publish method :

private void publish(String topic , String payload , int qosLevel) throws Exception {
Logger.w("start publishing :");
//payload = Helper.zlib_encode(payload);
topic = mapTopic(topic);

MqttMessage message = new MqttMessage();
message.setPayload(payload.getBytes("UTF-8") );
message.setQos(0);

mqttClient.publish(topic , message);
Logger.w("publised------------------");
}

output :

Connecting to broker: ssl://31.13.72.5:443
isConnected:false
connected
start publishing :
deliverd--------
publised------------------
deliverd message : //my message
Connection lost
msg : Connection lost
loc : Connection lost
cause : java.io.EOFException
excep : Connection lost (32109) - java.io.EOFException

[1]: https://www.eclipse.org/paho/
[2]: https://github.com/emqtt/emqttd/issues/551
[3]: https://stackoverflow.com/questions/33998919/eclipse-paho-mqttgetting-java-io-eof-exception
[4]: https://stackoverflow.com/questions/19813101/java-io-eofexception-with-paho

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.