Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when running with flutter #22

Closed
vinicentus opened this issue Jul 11, 2018 · 11 comments
Closed

Error when running with flutter #22

vinicentus opened this issue Jul 11, 2018 · 11 comments

Comments

@vinicentus
Copy link

So I get this error when trying to run the example as a flutter (0.5.1) app. Any ideas on what could be wrong?

I/flutter (18829): EXAMPLE::Mosquitto client connecting....
E/flutter (18829): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (18829): NoSuchMethodError: The setter 'disconnectRequested=' was called on null.
E/flutter (18829): Receiver: null
E/flutter (18829): Tried calling: disconnectRequested=true
E/flutter (18829): #0 Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5)
E/flutter (18829): #1 SynchronousMqttConnectionHandler._performConnectionDisconnect (file:///C:/Program%20Files%20(other)/flutter/.pub-cache/hosted/pub.dartlang.org/mqtt_client-1.9.0/lib/src/connectionhandling/mqtt_client_synchronous_mqtt_connection_handler.dart:83:16)
E/flutter (18829): #2 SynchronousMqttConnectionHandler.disconnect (file:///C:/Program%20Files%20(other)/flutter/.pub-cache/hosted/pub.dartlang.org/mqtt_client-1.9.0/lib/src/connectionhandling/mqtt_client_synchronous_mqtt_connection_handler.dart:76:5)
E/flutter (18829): #3 MqttClient.disconnect (file:///C:/Program%20Files%20(other)/flutter/.pub-cache/hosted/pub.dartlang.org/mqtt_client-1.9.0/lib/src/mqtt_client.dart:182:25)
E/flutter (18829): #4 main (file:///C:/Users/vince/AndroidStudioProjects/mqtt_test/lib/main.dart:63:12)
E/flutter (18829):
E/flutter (18829): #5 _startIsolate. (dart:isolate/runtime/libisolate_patch.dart:279:19)
E/flutter (18829): #6 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)

@shamblett
Copy link
Owner

OK, I think I've seen this before, your disconnecting from the broker, try it again with logging on,

client.logging(true);

@shamblett
Copy link
Owner

Bit more on this, I've fixed the exception, it actually means the broker has not accepted the connection request for on of the following

if (ackMsg.variableHeader.returnCode ==
MqttConnectReturnCode.brokerUnavailable ||
ackMsg.variableHeader.returnCode ==
MqttConnectReturnCode.identifierRejected ||
ackMsg.variableHeader.returnCode ==
MqttConnectReturnCode.unacceptedProtocolVersion ||
ackMsg.variableHeader.returnCode ==
MqttConnectReturnCode.notAuthorized ||
ackMsg.variableHeader.returnCode ==
MqttConnectReturnCode.badUsernameOrPassword) {

or the incoming ack message cannot be decoded at all.

@vinicentus
Copy link
Author

Thank you, I will try the new version soon...

@shamblett
Copy link
Owner

Republished version 1.9.1

@vinicentus
Copy link
Author

vinicentus commented Jul 12, 2018

Maybe the names should be changed?

error: The name 'ConnectionState' is defined in the libraries 'async.dart' and 'mqtt_client.dart'. (ambiguous_import at [mqtt_test2] lib\main.dart:81)
error: The name 'ChangeNotifier' is defined in the libraries 'change_notifier.dart' and 'change_notifier.dart'. (ambiguous_import at [mqtt_test2] lib\main.dart:93)
error: The name 'ChangeNotifier' is defined in the libraries 'change_notifier.dart' and 'change_notifier.dart'. (ambiguous_import at [mqtt_test2] lib\main.dart:101)

One ChangeNotifier is in the flutter package, and the other is in observable-0.22.1+3, both of which are dart packages.

@vinicentus
Copy link
Author

I/flutter (21503): EXAMPLE::Mosquitto client connecting....
I/flutter (21503): 2018-07-12 15:56:10.228887 -- SynchronousMqttConnectionHandler::disconnect
I/flutter (21503): 2018-07-12 15:56:10.245624 -- MqttConnectionHandler::sendMessage - MQTTMessage of type MqttMessageType.disconnect
I/flutter (21503): Header: MessageType = MqttMessageType.disconnect, Duplicate = false, Retain = false, Qos = MqttQos.atMostOnce, Size = 0
I/flutter (21503): 2018-07-12 15:56:10.246130 -- MqttConnectionHandler::sendMessage - not connected
I/flutter (21503): EXAMPLE::ERROR Mosquitto client connection failed - disconnecting, state is ConnectionState2.disconnected
Lost connection to device.
Error writing "build/flutter_assets/AssetManifest.json" to DevFS: HttpException: Connection closed before full header was received, uri = http://127.0.0.1:8106/
Error writing "build/flutter_assets/FontManifest.json" to DevFS: HttpException: Connection closed before full header was received, uri = http://127.0.0.1:8106/

Flutter doesn't really play nice with this. It looses connection to my test device. It could be my fault but idk.

@shamblett
Copy link
Owner

Try prefixing your import of the mqtt_client,

import 'package:mqtt_client/mqtt_client.dart' as mqtt;

then anywhere where you use ant of it prefix it with 'mqtt.' this should stop name clashes. You can do this with any packages.

@shamblett
Copy link
Owner

Yes, I never used flutter but this looks wrong, 'uri = http://127.0.0.1:8106/', mqtt_client just connects to its broker over a socket as shown in the example e.g test.mosquito.org on port 1883(default), there's no HTTP involved, also its logging as 127.0.0.1 which is localhost.

I'm sure there are other flutter users that are using the client, maybe ask on flutter list.

@vinicentus
Copy link
Author

I'm not really sure what the problem is here, but I got it all working with this fork and the example (located in readme.md).
https://github.com/benbehringer/mqtt_client

If you want to dig further I'd be happy to help although my experience with flutter and dart is pretty minimal. Otherwise you can close this issue.

@shamblett
Copy link
Owner

Ok, thanks

@cnqiuxue
Copy link

Built build/app/outputs/apk/debug/app-debug.apk.
Installing build/app/outputs/apk/app.apk...
Syncing files to device YF XXXG...
I/Process (19514): Sending signal. PID: 19514 SIG: 9
Lost connection to device.
Error writing "build/flutter_assets/AssetManifest.json" to DevFS: HttpException: , uri = http://127.0.0.1:49865/
Error writing "build/flutter_assets/FontManifest.json" to DevFS: HttpException: , uri = http://127.0.0.1:49865/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants