gpt4 book ai didi

android - E/flutter (8084): [ERROR:flutter/lib/ui/ui_dart_state. cc(157)]未处理的异常:SocketException:操作系统错误:连接被拒绝

转载 作者:行者123 更新时间:2023-12-04 13:38:24 25 4
gpt4 key购买 nike

当我在 android 模拟器和 google chrome 设备中运行我的应用程序时,我遇到了一些问题。我的应用程序仅在带有 iPhone 的 IOS 中运行良好。
我想,问题出在我的下拉菜单和对我的 api 的调用上。
在 iPhone 设备中,我可以在 dropDownButton 中看到作为 API 列表的数据,但在其他设备中看不到。

这是我用来与我的 api 通信的代码的一部分:

// Creation of deviceGet object with device data
var deviceGet = new List<Device>();
Future<void> GetDevice() async {
// CHANGED
await GET.url(url1).then((response) {
//END CHANGED
setState(() {
Iterable list = json.decode(response.body);
deviceGet = list.map((model) => Device.fromJson(model)).toList();
});
});
}

Future<String> getCommands(String deviceName1, String commandName1) async {
String deviceName = deviceName1;
String commandName = commandName1;


var url = "http://localhost:48082/api/v1/device/name/" +
deviceName +
"/command/" +
commandName1;
//we have to wait to get the data so we use 'await'
http.Response response = await http.get(
//Uri.encodeFull removes all the dashes or extra characters present in our Uri
Uri.encodeFull(url),
);

//print(response.body);
final body = json.decode(response.body);
//print(body['readings'][0]['value']);
value = body['readings'][0]['value'];
}

这是我的调试控制台错误:
/flutter ( 8084): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: SocketException: OS Error: Connection refused, errno = 111, address = localhost, port = 43992
E/flutter ( 8084): #0 IOClient.send
package:http/src/io_client.dart:33
E/flutter ( 8084): <asynchronous suspension>
E/flutter ( 8084): #1 BaseClient._sendUnstreamed
package:http/src/base_client.dart:176
E/flutter ( 8084): #2 BaseClient.get
package:http/src/base_client.dart:35
E/flutter ( 8084): #3 get.<anonymous closure>
package:http/http.dart:46
E/flutter ( 8084): #4 _withClient
package:http/http.dart:166
E/flutter ( 8084): #5 get
package:http/http.dart:46
E/flutter ( 8084): #6 GET.url
package:interface_edge/Get.dart:9
E/flutter ( 8084): #7 Chart1State.GetDevice
package:interface_edge/Chart1.dart:47
E/flutter ( 8084): #8 Chart1State.wait
package:interface_edge/Chart1.dart:85
E/flutter ( 8084): #9 Chart1State.initState
package:interface_edge/Chart1.dart:91
E/flutter ( 8084): #10 StatefulElement._firstBuild
package:flutter/…/widgets/framework.dart:4428
E/flutter ( 8084): #11 ComponentElement.mount
package:flutter/…/widgets/framework.dart:4274
E/flutter ( 8084): #12 Element.inflateWidget
package:flutter/…/widgets/framework.dart:3269
E/flutter ( 8084): #13 Element.updateChild
package:flutter/…/widgets/framework.dart:3063
E/flutter ( 8084): #14 ComponentElement.performRebuild
package:flutter/…/widgets/framework.dart:4316
E/flutter ( 8084): #15 Element.rebuild
E/flutter ( 8084): #21 Element.inflateWidget
package:flutter/…/widgets/framework.dart:3269
E/flutter ( 8084): #22 Element.updateChild
package:flutter/…/widgets/framework.dart:3063
E/flutter ( 8084): #23 SingleChildRenderObjectElement.mount
package:flutter/…/widgets/framework.dart:5518
E/flutter ( 8084): #24 Element.inflateWidget
package:flutter/…/widgets/framework.dart:3269
E/flutter ( 8084): #25 Element.updateChild
package:flutter/…/widgets/framework.dart:3063
E/flutter ( 8084): #26 ComponentElement.performRebuild
package:flutter/…/widgets/framework.dart:4316
E/flutter ( 8084): #27 Element.rebuild
package:flutter/…/widgets/framework.dart:4020
E/flutter ( 8084): #28 ComponentElement._firstBuild
package:flutter/…/widgets/framework.dart:4279
E/flutter ( 8084): #29 ComponentElement.mount
package:flutter/…/widgets/framework.dart:4274
E/flutter ( 8084): #30 Element.inflateWidget
package:flutter/…/widgets/framework.dart:3269
E/flutter ( 8084): #31 Element.updateChild
package:flutter/…/widgets/framework.dart:3063
E/flutter ( 8084): #32 ComponentElement.performRebuild
package:flutter/…/widgets/framework.dart:4316
E/flutter ( 8084): #33 Element.rebuild
package:flutter/…/widgets/framework.dart:4020
E/flutter ( 8084): #34 ComponentElement._firstBuild
package:flutter/…/widgets/framework.dart:4279
E/flutter ( 8084): #35 ComponentElement.mount
E/flutter ( 8084): #36 ParentDataElement.mount
package:flutter/…/widgets/framework.dart:4690
E/flutter ( 8084): #37 Element.inflateWidget
package:flutter/…/widgets/framework.dart:3269
E/flutter ( 8084): #38 Element.updateChild
package:flutter/…/widgets/framework.dart:3063
E/flutter ( 8084): #39 ComponentElement.performRebuild
package:flutter/…/widgets/framework.dart:4316
E/flutter ( 8084): #40 Element.rebuild
package:flutter/…/widgets/framework.dart:4020
E/flutter ( 8084): #41 ComponentElement._firstBuild
package:flutter/…/widgets/framework.dart:4279
E/flutter ( 8084): #42 StatefulElement._firstBuild
package:flutter/…/widgets/framework.dart:4454
E/flutter ( 8084): #43 ComponentElement.mount
package:flutter/…/widgets/framework.dart:4274
E/flutter ( 8084): #44 Element.inflateWidget
package:flutter/…/widgets/framework.dart:3269
E/flutter ( 8084): #45 Element.updateChild
package:flutter/…/widgets/framework.dart:3063
E/flutter ( 8084): #46 ComponentElement.performRebuild
package:flutter/…/widgets/framework.dart:4316
E/flutter ( 8084): #47 Element.rebuild
package:flutter/…/widgets/framework.dart:4020
E/flutter ( 8084): #48 ComponentEle

这是我的 flutter 分析:
Analyzing chat...                                                       

info • Name types using UpperCamelCase • lib/commandsData.dart:1:7 • camel_case_types
info • Name types using UpperCamelCase • lib/deviceData.dart:1:7 • camel_case_types
info • This function has a return type of 'Future<String>', but doesn't end with a return statement •
lib/getterMarche.dart:25:18 • missing_return
info • Name non-constant identifiers using lowerCamelCase • lib/main.dart:62:16 •
non_constant_identifier_names
info • This function has a return type of 'Future<String>', but doesn't end with a return statement •
lib/main.dart:73:18 • missing_return
info • The value of the local variable 'commandName' isn't used • lib/main.dart:75:12 •
unused_local_variable
info • This function has a return type of 'List<String>', but doesn't end with a return statement •
lib/main.dart:94:16 • missing_return

7 issues found. (ran in 6.5s)


This is the flutter doctor -v

[✓] Flutter (Channel dev, v1.13.5, on Mac OS X 10.15.1 19B88, locale fr-FR)
• Flutter version 1.13.5 at /Users/wassimbenjabria/flutter
• Framework revision 41a911099b (9 weeks ago), 2019-12-19 13:48:02 -0800
• Engine revision 0f90e6546b
• Dart version 2.8.0 (build 2.8.0-dev.0.0 aa6709974d)


[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/wassimbenjabria/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
• All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.3, Build version 11C29
• CocoaPods version 1.8.4

[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.5)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin installed
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.42.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.8.1

[✓] Connected device (3 available)
• AOSP on IA Emulator • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)
• Chrome • chrome • web-javascript • Google Chrome 79.0.3945.130
• Web Server • web-server • web-javascript • Flutter Tools

• No issues found!

谢谢你的帮助。

如果您想重现此错误,这是带有一个 dropDownButton 的代码的一部分。
import 'dart:convert';
import 'package:flutter/material.dart';

import 'Get.dart';
import 'Device.dart';
import 'deviceData.dart';

var url1 = "http://localhost:48082/api/v1/device";


void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
@override
build(context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'My App',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyListScreen(),
);
}
}

class MyListScreen extends StatefulWidget {
@override
createState() => _MyListScreenState();
}

class _MyListScreenState extends State {
List<deviceData> dataDevice = deviceData.getDevicesData();
List<DropdownMenuItem<deviceData>> listDropDevice;
deviceData deviceSelection;


// Creation of deviceGet object with device data
var deviceGet = new List<Device>();
Future<void> GetDevice() async {
// CHANGED
await GET.url(url1).then((response) {
//END CHANGED
setState(() {
Iterable list = json.decode(response.body);
deviceGet = list.map((model) => Device.fromJson(model)).toList();
});
});
}

Future<void> wait() async {
await GetDevice();
}

initState() {
super.initState();

wait().then((result) {
var nbrDevice = deviceGet.length;
for (int i = 0; i < nbrDevice;) {
dataDevice.add(deviceData(deviceGet[i].name, i));
i = i + 1;
}
listDropDevice = buildDropdownMenuItems(dataDevice);
});
}

List<DropdownMenuItem<deviceData>> buildDropdownMenuItems(List devices) {
List<DropdownMenuItem<deviceData>> items = List();
for (deviceData device1 in devices) {
items.add(
DropdownMenuItem(
value: device1,
child: Text(device1.name),
),
);
}
return items;
}

onChange(deviceData selectionUtilisateur) {
setState(() {
deviceSelection = selectionUtilisateur;
});
}

@override
build(context) {
return Scaffold(
appBar: AppBar(
title: Text("Device List"),
),
body: Column(children: <Widget>[
Center(child: Text("")),
DropdownButton(
value: deviceSelection,
items: listDropDevice,
onChanged: onChange,
hint: Text("Select the device")),
]));
}
}

最佳答案

这似乎是 Android 模拟器连接到远程服务器的问题。您可以查看 Stack Overflow post有关此问题的解决方法。

关于android - E/flutter (8084): [ERROR:flutter/lib/ui/ui_dart_state. cc(157)]未处理的异常:SocketException:操作系统错误:连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60372466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com