Dart エラー「SocketException: リモート コンピューターによりネットワーク接続が拒否されました。」が発生した場合の対処法

Dart エラー「SocketException: リモート コンピューターによりネットワーク接続が拒否されました。」が発生した場合の対処法

Dartで、エラー「SocketException: リモート コンピューターによりネットワーク接続が拒否されました。」が発生した場合の対処法を記述してます。原因は「no-sandbox」を使用することで改善しました。

環境

  • OS windows11 home
  • Dart 2.18.4

エラー全文

以下の「Selenium」を使用するコードで発生。

import 'package:webdriver/io.dart';

void main() {
  Future<WebDriver> driver = createDriver(
      uri: Uri.parse('http://127.0.0.1:9515'),
      spec: WebDriverSpec.W3c,
      webDriverHeaders: const {});

  driver.then((WebDriver wd) {
    wd.get('https://mebee.info/');
  });
}

エラー全文

SocketException: リモート コンピューターによりネットワーク接続が拒否されました。
 (OS Error: リモート コンピューターによりネットワーク接続が拒否されました。
, errno = 1225), address = 127.0.0.1, port = 51635
#0      _NativeSocket.startConnect (dart:io-patch/socket_patch.dart:682:35)
#1      _RawSocket.startConnect (dart:io-patch/socket_patch.dart:1827:26)
#2      RawSocket.startConnect (dart:io-patch/socket_patch.dart:27:23)
#3      Socket._startConnect (dart:io-patch/socket_patch.dart:2048:22)
#4      Socket.startConnect (dart:io/socket.dart:759:21)
#5      _ConnectionTarget.connect (dart:_http/http_impl.dart:2453:20)
#6      _HttpClient._getConnection.connect (dart:_http/http_impl.dart:2867:12)
#7      _HttpClient._getConnection (dart:_http/http_impl.dart:2872:12)
#8      _HttpClient._openUrl (dart:_http/http_impl.dart:2727:12)
#9      _HttpClient.postUrl (dart:_http/http_impl.dart:2601:49)
#10     AsyncIoRequestClient.sendRaw (package:webdriver/src/request/async_io_request_client.dart:31:36)
<asynchronous suspension>
#11     AsyncRequestClient.send (package:webdriver/src/common/request_client.dart:96:33)
<asynchronous suspension>
#12     createDriver (package:webdriver/async_core.dart:64:19)
<asynchronous suspension>

原因

正直、詳細はわかりませんでしたが、自分の場合はオプション「–no-sandbox」を使用することで解決しました。

対処法

オプション「–no-sandbox」を使用して「chromedriver」を起動します。

> chromedriver --no-sandbox