Dart 颤振-SocketException:连接失败(操作系统错误:无法访问网络,错误号=101)
连接到以太坊节点时出错 E/flatter(23790):[错误:flatter/lib/ui/ui\u dart\u state.cc(148)] 未处理的异常:SocketException:连接失败(操作系统错误: 无法访问网络,错误号=101) ----------------------------------下面是web3连接代码-----------------------------------------------Dart 颤振-SocketException:连接失败(操作系统错误:无法访问网络,错误号=101),dart,flutter,web3,Dart,Flutter,Web3,连接到以太坊节点时出错 E/flatter(23790):[错误:flatter/lib/ui/ui\u dart\u state.cc(148)] 未处理的异常:SocketException:连接失败(操作系统错误: 无法访问网络,错误号=101) ----------------------------------下面是web3连接代码----------------------------------------------- import 'package:flutter/materi
import 'package:flutter/material.dart';
import 'package:http/http.dart';
import 'package:web3dart/web3dart.dart';
import 'dart:async';
const String rpcUrls = 'https://node1.bitcoiin.com';
class HomeScreen extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _HomeScreenState();
}
}
class _HomeScreenState extends State<HomeScreen> {
@override
void initState() {
main();
super.initState();
}
main(){
var ethClient = new Web3Client(apiUrls, new Client());
print(ethClient.getBlockNumber());
}
导入“包装:颤振/材料.省道”;
导入“包:http/http.dart”;
导入“包:web3dart/web3dart.dart”;
导入“dart:async”;
常量字符串rpcUrls=https://node1.bitcoiin.com';
类主屏幕扩展StatefulWidget{
@凌驾
状态createState(){
返回_homescrenstate();
}
}
类_homescrenstate扩展状态{
@凌驾
void initState(){
main();
super.initState();
}
main(){
var ethClient=newweb3client(apirls,newclient());
打印(ethClient.getBlockNumber());
}
我仍然不明白为什么这个解决方案有效,但我遇到了同样的问题,我尝试用服务器的IP地址替换localhost
(例如,192.168.1.33
),成功了
请为您的应用尝试以下代码:
main(){
var httpClient = new Client();
// You tried the code below and it didn't work
// var ethClient = new Web3Client('http://localhost:8545', httpClient);
// Try this code instead. (Replace "192.168.1.33" with the IP of your server)
var ethClient = new Web3Client('http://192.168.1.33:8545', httpClient);
print(ethClient.getBlockNumber());
}
您是否在模拟器上运行应用程序?是的,我正在使用模拟器出于某种原因,您的模拟器无法查找服务器的IP(这是一个网络问题,不是颤振问题),请尝试从浏览器打开相同的URL以确保。我在本地系统上运行以太坊节点,我使用了该RPC URL()在nodejs应用程序中,它运行良好抱歉,我没有理解你的意思,你是说这个URL在你的本地机器或模拟器上运行良好?