Socket 无法运行(dart:io)

问题描述 投票:0回答:1

我正在制作一个flutter应用程序,我尝试在服务器套接字和客户端之间建立连接,但客户端无法连接到套接字,从而出现此错误:“SocketException (SocketException: 连接被拒绝(操作系统错误:连接被拒绝,errno = 111),地址 = 0.0.0.0,端口 = 44204)” 任何帮助将不胜感激,提前致谢。

这是服务器代码:

import 'dart:typed_data';
import 'dart:io';

Future<void> main() async {
  int port = 10000;
  final ip = InternetAddress.anyIPv4;
  final server = await ServerSocket.bind(ip, port);
  print("Server is running on :${ip.address}");
  server.listen((Socket event) {});

  void handleConnection(Socket client) {
    client.listen((Uint8List data) {
      final message = String.fromCharCodes(data);
      print(data);
    }, onError: (error) {
      print(error);
      client.close();
    }, onDone: () {
      print("Server:client left");
      client.close();
    });
  }
}


这是客户端代码

import 'package:flutter/material.dart';
import 'package:awshare_schoolproject/Pages/login_page.dart';
import 'package:awshare_schoolproject/Pages/register_page.dart';
import 'dart:io';
import 'dart:typed_data';

Socket socket = socket;
Future<void> main() async {
  runApp(const MyApp());
  String address = "0.0.0.0";
  int port = 10000;
  socket = await Socket.connect(address, port);
  print('Client: Connected to ${socket.remoteAddress.address}');
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: RegisterPage(socket),
    );
  }
}


尝试将服务器和客户端地址更改为我的电脑本地IP地址,但它也不起作用。

flutter websocket socket.io dart-io
1个回答
0
投票

有一个特定的过程可以在本地进行套接字编程并使用 Android 模拟器的特定设置。不过,我建议您仔细阅读社区之前解决的这篇文章。另外,请务必搜索并找到任何现有的解决方案,而不是在第一步中将您的问题发布到此处,否则系统可能会阻止您发布任何新问题。嗯,这就是这个网站的工作原理,所以是的,小心,不要太担心,享受你的编码。 :)

这是本网站之前发布的一个可能的解决方案: SocketException:操作系统错误:连接被拒绝,颤动中的 errno = 111 SocketException:操作系统错误:连接被拒绝,errno = 111 在使用 django 后端的 flutter 中

© www.soinside.com 2019 - 2024. All rights reserved.