Однако у меня возникли проблемы с тестированием моего кода на интернет-серверах, отличных от Windows. , я продолжаю получать System.Net.Quic.QuicException, но по РАЗНЫМ причинам.
Сначала мой (простой) код:
Код: Выделить всё
public static async Task HtmlVersionAsync(Uri url)
{
QuicClientConnectionOptions quicClientConnectionOptions = new()
{
ClientAuthenticationOptions = new SslClientAuthenticationOptions()
{
ApplicationProtocols = [SslApplicationProtocol.Http3],
RemoteCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true,
TargetHost = url.IdnHost,
EnabledSslProtocols = SslProtocols.Tls13
},
RemoteEndPoint = new DnsEndPoint(url.IdnHost, 443),
DefaultCloseErrorCode = 0,
DefaultStreamErrorCode = 0,
};
await using QuicConnection quicConnection = await QuicConnection.ConnectAsync(quicClientConnectionOptions);
return quicConnection.NegotiatedApplicationProtocol.ToString();
}
- Мои собственные серверы Windows: успех, отчет «h3»
- Мой роутер: 10 с. timeout (не поддерживает Quic)
- google.com: «Обнаружена ошибка протокола QUIC».
- www.facebook.com: «Произошла внутренняя ошибка. Код состояния: QUIC_STATUS_INTERNAL_ERROR'
- stackoverflow.com: 'Произошла внутренняя ошибка. Код состояния: QUIC_STATUS_HANDSHAKE_FAILURE'
Это приводит к следующему выводу: QuicConnection может подключаться только к компьютерам под управлением Windows!
Конечно, я надеюсь, что это неверно. Допустил ли я ошибки в своем коде (например, отсутствовали настройки)?
Изменить:
Новые тесты (спасибо Ральф):
- cloudflare-quic.com: Успех, сообщает «h3»
- bing.com: Успех, сообщает «h3»
Однако меня беспокоит вопрос: не поддерживают ли эти БОЛЬШИЕ сайты поддержку Quic (или мои настройки просто не подходят для них)?
Подробнее здесь: https://stackoverflow.com/questions/792 ... ws-servers