Skip to content
New issue

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

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

Already on GitHub? # to your account

Android Studio Updated and now My wroking websocket not working #1603

Closed
hiloliddinj opened this issue Jul 11, 2019 · 3 comments
Closed

Android Studio Updated and now My wroking websocket not working #1603

hiloliddinj opened this issue Jul 11, 2019 · 3 comments

Comments

@hiloliddinj
Copy link

E/flutter (32734): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: WebSocketChannelException: WebSocketChannelException: SocketException: OS Error: No route to host, errno = 113, address = 192.168.0.49, port = 50777
E/flutter (32734): #0 new IOWebSocketChannel._withoutSocket. (package:web_socket_channel/io.dart:83:24)
E/flutter (32734): #1604 _invokeErrorHandler (dart:async/async_error.dart:17:29)
E/flutter (32734): dart-archive/web_socket_channel#2 _HandleErrorStream._handleError (dart:async/stream_pipe.dart:286:9)
E/flutter (32734): dart-archive/web_socket_channel#3 _ForwardingStreamSubscription._handleError (dart:async/stream_pipe.dart:168:13)
E/flutter (32734): #1605 _rootRunBinary (dart:async/zone.dart:1144:38)
E/flutter (32734): dart-archive/web_socket_channel#5 _CustomZone.runBinary (dart:async/zone.dart:1037:19)
E/flutter (32734): dart-archive/web_socket_channel#6 _CustomZone.runBinaryGuarded (dart:async/zone.dart:939:7)
E/flutter (32734): dart-archive/web_socket_channel#7 _BufferingStreamSubscription._sendError.sendError (dart:async/stream_impl.dart:355:15)
E/flutter (32734): dart-archive/web_socket_channel#8 _BufferingStreamSubscription._sendError (dart:async/stream_impl.dart:373:16)
E/flutter (32734): dart-archive/web_socket_channel#9 _BufferingStreamSubscription._addError (dart:async/stream_impl.dart:272:7)
E/flutter (32734): dart-archive/web_socket_channel#10 _SyncStreamController._sendError (dart:async/stream_controller.dart:768:19)
E/flutter (32734): dart-archive/web_socket_channel#11 _StreamController._addError (dart:async/stream_controller.dart:648:7)
E/flutter (32734): dart-archive/web_socket_channel#12 _rootRunBinary (dart:async/zone.dart:1144:38)
E/flutter (32734): dart-archive/web_socket_channel#13 _CustomZone.runBinary (dart:async/zone.dart:1037:19)
E/flutter (32734): #1606 _CustomZone.runBinaryGuarded (dart:async/zone.dart:939:7)
E/flutter (32734): #1607 _BufferingStreamSubscription._sendError.sendError (dart:async/stream_impl.dart:355:15)
E/flutter (32734): #1608 _BufferingStreamSubscription._sendError (dart:async/stream_impl.dart:373:16)
E/flutter (32734): #1609 _BufferingStreamSubscription._addError (dart:async/stream_impl.dart:272:7)
E/flutter (32734): dart-archive/web_socket_channel#18 _SyncStreamController._sendError (dart:async/stream_controller.dart:768:19)
E/flutter (32734): dart-archive/web_socket_channel#19 _StreamController._addError (dart:async/stream_controller.dart:648:7)
E/flutter (32734): dart-archive/web_socket_channel#20 new Stream.fromFuture. (dart:async/stream.dart:117:18)
E/flutter (32734): #1610 _rootRunBinary (dart:async/zone.dart:1144:38)
E/flutter (32734): #1611 _CustomZone.runBinary (dart:async/zone.dart:1037:19)
E/flutter (32734): dart-lang/web_socket_channel#23 _FutureListener.handleError (dart:async/future_impl.dart:140:20)
E/flutter (32734): #1613 Future._propagateToListeners.handleError (dart:async/future_impl.dart:651:47)
E/flutter (32734): #1614 Future._propagateToListeners (dart:async/future_impl.dart:672:24)
E/flutter (32734): #1615 Future._completeError (dart:async/future_impl.dart:491:5)
E/flutter (32734): dart-archive/web_socket_channel#27 Future._asyncCompleteError. (dart:async/future_impl.dart:539:7)
E/flutter (32734): dart-archive/web_socket_channel#28 _rootRun (dart:async/zone.dart:1124:13)
E/flutter (32734): dart-archive/web_socket_channel#29 _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter (32734): dart-archive/web_socket_channel#30 _CustomZone.runGuarded (dart:async/zone.dart:923:7)
E/flutter (32734): #1616 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:963:23)
E/flutter (32734): #1617 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
E/flutter (32734): dart-archive/web_socket_channel#33 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)

@hiloliddinj
Copy link
Author

Here is the code:

import 'package:flutter/material.dart';
import 'package:hinox_smarthome/components/card_content.dart';
import 'package:hinox_smarthome/constants.dart';
import 'package:hinox_smarthome/components/reusable_card.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:web_socket_channel/io.dart';
import 'package:web_socket_channel/web_socket_channel.dart';
import 'package:hinox_smarthome/devices/lighting_device.dart';
import 'package:hinox_smarthome/devices/curtain_device.dart';

class ControlPage extends StatefulWidget {
@OverRide
_ControlPageState createState() => _ControlPageState();
}

class _ControlPageState extends State {
int dimmerValue = 50;
WebSocketChannel channel;

//Light Device 1 variables;
bool light1isOn = false;
bool light2isOn = false;
bool light3isOn = false;
Color light1Color = Colors.grey[800];
Color light2Color = Colors.grey[800];
Color light3Color = Colors.grey[800];

//Curtain Device variables
bool curtainUpActive = false;
bool curtainDownActive = false;
bool curtainLightIsOn = false;
Color curtainUpColor = Colors.grey[800];
Color curtainDownColor = Colors.grey[800];
Color curtainLightColor = Colors.grey[800];

void sendWSData(String dataToSend) {
channel.sink.add(dataToSend);
}

void feedbackActions(String data) {
switch (data) {
case 'aa0100':
light1isOn = false;
light1Color = Colors.grey[300];
break;
case 'aa0101':
light1isOn = true;
light1Color = Colors.orange;
break;
case 'aa0200':
light2isOn = false;
light2Color = Colors.grey[300];
break;
case 'aa0201':
light2isOn = true;
light2Color = Colors.orange;
break;
case 'aa0300':
light3isOn = false;
light3Color = Colors.grey[300];
break;
case 'aa0301':
light3isOn = true;
light3Color = Colors.orange;
break;
default:
break;
}
}

void popUpChoiceAction(String choice) {
switch (choice) {
case settings:
print(settings);
break;
case about:
print(about);
break;
default:
break;
}
}

@OverRide
void initState() {
super.initState();
channel = IOWebSocketChannel.connect('ws://192.168.0.49:81');
channel.stream.listen((data) {
setState(() {
String incomingString = data.toString();
if (incomingString.length >= 18) {
feedbackActions(incomingString.substring(18));
}
});
});
sendWSData('0102');
sendWSData('0202');
sendWSData('0302');
}

@OverRide
void dispose() {
channel.sink.close();
super.dispose();
}

@OverRide
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Hinox Smart Home'),
actions: [
PopupMenuButton(
onSelected: popUpChoiceAction,
itemBuilder: (BuildContext context) {
return menuList.map((String choice) {
return PopupMenuItem(
value: choice,
child: Text(choice),
);
}).toList();
},
),
],
),
body: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
LightDevice(
light1Color: light1Color,
light1onPressed: () {
light1isOn ? sendWSData('0100') : sendWSData('0101');
},
light2Color: light2Color,
light2onPressed: () {
light2isOn ? sendWSData('0200') : sendWSData('0201');
},
light3Color: light3Color,
light3onPressed: () {
light3isOn ? sendWSData('0300') : sendWSData('0301');
},
),
CurtainDevice(
curtainUpColor: curtainUpColor,
curtainUpOnPressed: () {},
curtainDownColor: curtainDownColor,
curtainDownOnPressed: () {},
light3Color: curtainLightColor,
light3onPressed: () {}),
Expanded(
child: ReusableCard(
colour: kActiveCardColor,
cardChild: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Scenario Demo',
style: kLabelTextStyle,
),
Row(
children: [
Expanded(
child: ReusableCard(
onPress: () {
setState(() {
//send all on command
sendWSData('0101');
sendWSData('0201');
sendWSData('0301');
});
},
colour: kActiveCardColor,
cardChild: CardContent(
cardIcon: FontAwesomeIcons.solidLightbulb,
cardText: 'All ON',
iconColor: Colors.orange,
),
),
),
Expanded(
child: ReusableCard(
onPress: () {
setState(() {
//send all off
sendWSData('0100');
sendWSData('0200');
sendWSData('0300');
});
},
colour: kActiveCardColor,
cardChild: CardContent(
cardIcon: FontAwesomeIcons.solidLightbulb,
cardText: 'All OFF',
iconColor: Colors.grey,
),
),
),
],
),
],
),
),
),
],
),
);
}
}

@hiloliddinj
Copy link
Author

No Such problem exists. I do not know why but after hours of frustration just restarting PC and reinstalling apps worked fine :D

@natebosch
Copy link
Member

Please use fenced code blocks when filing issues.

https://help.github.com/en/articles/creating-and-highlighting-code-blocks

closing since the reporter is unable to repro anymore.

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

3 participants