Sidebar |
Indy IPv6でアクセスできない (indy10)
執筆:2018.07.22
編集:2018.07.22 IPv6のアドレスに IdHTTP1.Get すると Socket Error # 10061
と表示されるConnection refused. 原因 URIでIPv6の形式でない場合は、IOHandlerの設定にかかわらず Id_IPv4 として扱われるため。 原因のコード部分 IdHTTP.pas : procedure TIdCustomHTTP.CheckAndConnect if not Connected then try
IPVersion := FURI.IPVersion; この行を適切に修正することで、IPv6でアクセスできるようになります。 テストコード (1) ipv6でサーバーを立ち上げ準備をする php -S localhost:8000 Unit1.pas (2) テストコードを実行する IdHTTP1.Get('http://localhost:8000/'); 2018/07/22でのリポジトリ最新バージョンでもこのバグは健在でした。 IdHTTP1.Get('http://[localhost]:8000/'); とすると ipv6でアクセスするが実用的ではない。 最後に Indyのhttpは昔からバグだらけなので
バグ報告したところで修正してくれるものでもないでしょうから
Dlephiをやめて C# や vb.net にいったほうが開発ツールのバグがなくていいですよ キーワード: indy indy10 IPv6 Socket Error # 10061
Socket Error # 10061 Connection refused.
カテゴリー: General
2018.07.22
|
Sidebar |