SocketException:操作系统错误:连接被拒绝,errno = 111,地址= 127.0.0.1,端口= 47660

时间:2019-07-23 21:23:25

标签: android-studio flutter

我正在尝试从json文件中读取数据,但徒劳无益,这是我得到的错误,请有人帮我,我也正在使用chopper,我也尝试与jsonplaceholder一起工作,但是当我正在使用我的代码时它不起作用,我只想知道该问题的原因
agence_api_service.chopper.dart

// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'agence_api_service_chopper.dart';



class _$AgenceApiService extends AgenceApiService {
  _$AgenceApiService([ChopperClient client]) {
    if (client == null) return;
    this.client = client;
  }

  final definitionType = AgenceApiService;

  Future<Response> getAgences() {
    final $url = 'http://127.0.0.1:8080/agences';
    final $request = Request('GET', $url, client.baseUrl);
    return client.send<dynamic, dynamic>($request);
  }

  Future<Response> getAgence(int idb) {
    final $url = 'http://127.0.0.1:8080/agences/${idb}';
    final $request = Request('GET', $url, client.baseUrl);
    return client.send<dynamic, dynamic>($request);
  }

  Future<Response> postAgence(Map<String, dynamic> body) {
    final $url = 'http://127.0.0.1:8080/agences';
    final $body = body;
    final $request = Request('POST', $url, client.baseUrl, body: $body);
    return client.send<dynamic, dynamic>($request);
  }
}

和home_page.dart

class HomePage extends StatelessWidget {
  HomePage({Key key, this.title}) : super(key: key);
  final String title;
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return new Scaffold(
      appBar: new AppBar(
        title: new Text("Drawer App"),
        elevation: defaultTargetPlatform == TargetPlatform.android ? 5.0 : 0.0,
      ),
      drawer: new Drawer(
          child: new ListView(
              children: <Widget>[
                DrawerHeader(
                    decoration: BoxDecoration(
                        gradient: LinearGradient(colors: <Color>[
                          Colors.deepOrange,
                          Colors.orangeAccent
                        ])
                    ),


                    child: Container(
                      child: Column(
                        children: <Widget>[
                          Material(
                            borderRadius: BorderRadius.all (Radius.circular(50.0)),
                            child: Padding(padding: EdgeInsets.all(8.0),
                              child: Image.asset("images/images.png",width: 100,height:100,),),
                          )
                        ],
                      ),

                    )
                ),

                new ListTile(
                  trailing: new Icon(Icons.account_circle),
                  title: new Text("My Account"),
                  onTap: () {
                    Navigator.of(context).pop();
                    //Navigator.of(context).pushNamed("/a");
                    Navigator.push(context, new MaterialPageRoute(
                        builder: (context) => new LoginApp())
                    );
                  },
                ),
                new ListTile(
                  title: new Text("Simulation"),
                  trailing: new Icon(Icons.format_list_bulleted),
                  onTap: ()
                  {
                    _buildBody(context);
                  },
                ),
                new Divider(),
                new ListTile(
                  title: new Text("Close"),
                  trailing: new Icon(Icons.close),
                  onTap: ()=> Navigator.of(context).pop(),
                )
              ]

          )
      ),
      body: _buildBody(context)


    );

  }

  FutureBuilder<Response> _buildBody(BuildContext context) {
    // FutureBuilder is perfect for easily building UI when awaiting a Future
    // Response is the type currently returned by all the methods of PostApiService
    return FutureBuilder<Response>(
      // In real apps, use some sort of state management (BLoC is cool)
      // to prevent duplicate requests when the UI rebuilds
      future: Provider.of<AgenceApiService>(context).getAgences(),
      builder: (context, snapshot) {
        if (snapshot.connectionState == ConnectionState.done) {
          if (snapshot.hasError) {
            return Center(
              child: Text(
                snapshot.error.toString(),
                textAlign: TextAlign.center,
                textScaleFactor: 1.3,
              ),
            );
          }

          final posts = snapshot.data.body;
          return _buildAgences(context, posts);
        } else {
          // Show a loading indicator while waiting for the posts
          return Center(
            child: CircularProgressIndicator(),
          );
        }
      },
    );
  }

  ListView _buildAgences(BuildContext context, List agences) {
    return ListView.builder(
      itemCount: agences.length,
      padding: EdgeInsets.all(8),
      itemBuilder: (context, index) {
        return Card(
          elevation: 4,
          child: ListTile(
            title: Text(
              agences[index].nom,
              style: TextStyle(fontWeight: FontWeight.bold),
            ),
            subtitle: Text(agences[index].lieu),
            onTap: () => _navigateToAgence(context, agences[index].idb),
          ),
        );
      },
    );
  }

  void _navigateToAgence(BuildContext context, int id) {
    Navigator.of(context).push(
      MaterialPageRoute(
        builder: (context) => SinglePostPage(postId: id),
      ),
    );
  }
}

我得到的错误

E/flutter ( 7843): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: SocketException: OS Error: Connection refused, errno = 111, address = 127.0.0.1, port = 47660
E/flutter ( 7843): #0      IOClient.send (package:http/src/io_client.dart:33:23)
E/flutter ( 7843): <asynchronous suspension>
E/flutter ( 7843): #1      ChopperClient.send (package:chopper/src/base.dart:171:40)
E/flutter ( 7843): <asynchronous suspension>
E/flutter ( 7843): #2      _$AgenceApiService.getAgences (package:loanapp/data/agence_api_service.chopper.dart:20:19)
E/flutter ( 7843): #3      HomePage._buildBody (package:loanapp/home_page.dart:101:54)
E/flutter ( 7843): #4      HomePage.build.<anonymous closure> (package:loanapp/home_page.dart:75:21)
E/flutter ( 7843): #5      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:635:14)
E/flutter ( 7843): #6      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:711:32)
E/flutter ( 7843): #7      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter ( 7843): #8      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11)
E/flutter ( 7843): #9      TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:312:7)
E/flutter ( 7843): #10     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter ( 7843): #11     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:222:20)
E/flutter ( 7843): #12     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter ( 7843): #13     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter ( 7843): #14     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter ( 7843): #15     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter ( 7843): #16     _rootRunUnary (dart:async/zone.dart:1136:13)
E/flutter ( 7843): #17     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 7843): #18     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
E/flutter ( 7843): #19     _invoke1 (dart:ui/hooks.dart:250:10)
E/flutter ( 7843): #20     _dispatchPointerDataPacket (dart:ui/hooks.dart:159:5)
E/flutter ( 7843): 
E/flutter ( 7843): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: SocketException: OS Error: Connection refused, errno = 111, address = 127.0.0.1, port = 47662
E/flutter ( 7843): #0      IOClient.send (package:http/src/io_client.dart:33:23)
E/flutter ( 7843): <asynchronous suspension>
E/flutter ( 7843): #1      ChopperClient.send (package:chopper/src/base.dart:171:40)
E/flutter ( 7843): <asynchronous suspension>
E/flutter ( 7843): #2      _$AgenceApiService.getAgences (package:loanapp/data/agence_api_service.chopper.dart:20:19)
E/flutter ( 7843): #3      HomePage._buildBody (package:loanapp/home_page.dart:101:54)
E/flutter ( 7843): #4      HomePage.build.<anonymous closure> (package:loanapp/home_page.dart:75:21)
E/flutter ( 7843): #5      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:635:14)
E/flutter ( 7843): #6      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:711:32)
E/flutter ( 7843): #7      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter ( 7843): #8      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11)
E/flutter ( 7843): #9      TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:312:7)
E/flutter ( 7843): #10     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter ( 7843): #11     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:222:20)
E/flutter ( 7843): #12     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter ( 7843): #13     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter ( 7843): #14     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter ( 7843): #15     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter ( 7843): #16     _rootRunUnary (dart:async/zone.dart:1136:13)
E/flutter ( 7843): #17     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 7843): #18     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
E/flutter ( 7843): #19     _invoke1 (dart:ui/hooks.dart:250:10)
E/flutter ( 7843): #20     _dispatchPointerDataPacket (dart:ui/hooks.dart:159:5)

3 个答案:

答案 0 :(得分:1)

TLDR,使用10.0.2.2

在Android模拟器中运行的应用程序可以通过10.0.2.2地址连接到本地HTTP Web服务,该地址是主机环回接口(开发计算机上的127.0。0.1)的别名。

答案 1 :(得分:1)

如果您使用 django 作为后端,首先将服务器作为“python manage.py runserver 0.0.0.0:8000”运行。然后在flutter的url中传入你的本地ip-address:8000,你可以通过在macOs和linux的终端中输入“ifconfig”或windows中的ipconfig来找到你的本地ip-address。

答案 2 :(得分:1)

更改 127.0. 0.1(或本地主机)到您的 IPV4 地址。

查找 IPV4 地址。打开命令提示符并使用“ipconfig”命令。如下。 enter image description here