アプリケーションテストに合格できません。 Appleの要求に応じて、静的IPv6アドレスをサーバーに追加しました。私たちのアプリケーションでは、すべてが私たちのために機能しますが、再び拒否されました。問題は同じままです。Delphi 10.1 Berlin IDHTTP/IPv6/iOS /ソケットエラー#51ネットワークに到達できません
彼らは、エラーが発生します:Socket Error #51 Network is unreachable.
彼らはテスト中に弊社のサーバーに接続できない理由は不明ですか?
私たちは間違って何をしていますか? IPv4とIPv6をサポートする必要がありますか?
は、私たちは、上の次のコンポーネントを使用し
クライアント:
- idHTTP
- IdSSLIOHandlerSocketOpenSSL
サーバー:
- IdHTTPServer
- IdServerIOHandlerSSLOpenSSL
サーバーは、静的IPv6アドレスを持っており、それが利用可能です。
私たちは、次のように接続処理:
try
IdSSLIOHandlerSocketOpenSSL1.IPVersion := Id_IPv6;
answerBuff := idHTTP1.Post('https://[xxxx:a0e0:bad:bad::53]:8001/', tmpPostRequestData);
except
IdSSLIOHandlerSocketOpenSSL1.IPVersion := Id_IPv4;
answerBuff := idHTTP1.Post('https://xx.85.157.25:8001', tmpPostRequestData);
end;
を私たちは、唯一の直接アドレスをドメイン名を使用しないでください。 サーバーのIPv6アドレスが使用可能です。助けてください。
私たちの英語を許してください。
あなたは 'TIdHTTP'自身の' IPVersion'プロパティを 'SSLIOHandler'のプロパティの代わりに設定するべきです。 'TIdHTTP'は渡されたURLからIPバージョンを自動的に決定するので、IPアドレスを使用するときには' IPVersion'を手動で指定する必要はありません(大括弧で囲まれていない場合)。 IPv6アドレスを要求するときに、デバイスがIPv6ネットワークに接続されていることを確認しましたか?あなたのアプリを店に提出する前に、アップルのガイドラインに従ってローカルテストを行ったことがありますか? –
@RemyLebeau - ありがとう、レミー。 Appleの従業員が次のように書いています: –
@RemyLebeau > IPv6ネットワークに接続されたWi-FiでiOS 11.0.2を実行しているiPhone 6でレビューされたときに、アプリで1つ以上のバグが見つかりました。 --- 次のコードを使用するテストアプリケーションがあります。 > IdSSLIOHandlerSocketOpenSSL1.IPVersion:= Id_IPv6; answerBuff:= idHTTP1。Post( 'https:// [2a03:a0e0:悪い:bad :: 53]:8001 /'、tmpPostRequestData); アプリケーションはうまく動作し、接続されています。しかし、Appleに同じコードのバージョンを送ると、何らかの理由で接続できなくなります。 –