我正在制作一个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地址,但它也不起作用。
有一个特定的过程可以在本地进行套接字编程并使用 Android 模拟器的特定设置。不过,我建议您仔细阅读社区之前解决的这篇文章。另外,请务必搜索并找到任何现有的解决方案,而不是在第一步中将您的问题发布到此处,否则系统可能会阻止您发布任何新问题。嗯,这就是这个网站的工作原理,所以是的,小心,不要太担心,享受你的编码。 :)
这是本网站之前发布的一个可能的解决方案: SocketException:操作系统错误:连接被拒绝,颤动中的 errno = 111 SocketException:操作系统错误:连接被拒绝,errno = 111 在使用 django 后端的 flutter 中