Open ShikharVayuz opened 2 years ago
Please share the code too and mention the platform and package version
@rikulo @jumperchen @henrichen @tomyeh @jimmyshiau @fzyzcjy @Kavantix @felangel @bruce3x @Oskang09 @sarru1291 @kerolloz @hrishiksh
socket_io_client: ^1.0.1 The same on will be executed three times
D:\AndroidProjects\pinpon-flutter>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.5.3, on Microsoft Windows [Version 10.0.22000.318], locale zh-CN)
[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0-rc4)
X cmdline-tools component is missing
Run path/to/sdkmanager --install "cmdline-tools;latest"
See https://developer.android.com/studio/command-line for more details.
X Android license status unknown.
Run flutter doctor --android-licenses
to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[√] Chrome - develop for the web
[√] Android Studio (version 2020.3)
[√] IntelliJ IDEA Ultimate Edition (version 2020.2)
[√] Connected device (4 available)
! Doctor found issues in 1 category.
Platform is android
code SocketManager.socket.on(ServerRemotePlayerControl.EVENT_JOIN_NAME, (value) { print(jsonEncode(value)); ///Executed three times });
@zhangyc Did you found the resolution to the problem.
Have same issue... any work around for it??
Have same issue... any work around for it??
I remember it was caused by multiple monitoring, you see if you have performed multiple monitoring
The 'on' event is getting triggered multiple times i.e. : 5. For a single message when sent from the admin server. (Receiver - app). Dart : socket_io_client: ^2.0.0-beta.4-nullsafety.0 Node J's : version 4.0.
Dart (Code) @override void initState() { super.initState(); ChatMessageNotifier().demoChat.clear(); ProfileProvider().getPersonalProfile(User().userId).then((value) { userProfile = ProfileProvider().userProfile; tutorId = userProfile.tutorId; }); streamHit = false; connectToServer(); }
void connectToServer() { try { // Configure socket transports must be sepecified socket = IO.io(socketUrl, <String, dynamic>{ 'transports': ['websocket'], // 'autoConnect': true, });
}
Future tutorSendMessage(String message,
{String type}) async {
var body = json.encode({
'data': {
'request_id': widget.requestId,
'tutor_id': tutorId,
'message': message,
'fileType': type,
'type': 'Tutor'
}
});
// ignore: omit_local_variable_types
final http.Response response = await http.post(
Uri.parse(
'https://eduarno1.herokuapp.com/admin/request/post_tutor_chat'),
headers: {'Content-Type': 'application/json'},
body: body);
}
// Send a Message to the server void sendMessage(String message, {String type}) { // log(message); log(widget.requestId); log(tutorId); tutorSendMessage(message, type: type).then((value) { ChatMessageNotifier() .chatAdder(value, _controller, widget.requestId, tutorId); var encodedData = json.encode(value); log('${value.data.first}');
}
void recieveMessage(events) { streamHit = true;
}
@rikulo @jumperchen @henrichen @tomyeh @jimmyshiau @fzyzcjy @Kavantix @felangel @bruce3x @Oskang09 @sarru1291 @kerolloz @hrishiksh