C#如何检测客户端套接字是否需要对SSL进行身份验证

时间:2019-06-14 11:11:40

标签: c# sockets ssl

我尝试使用单个服务器来服务纯C#套接字客户端(不带ssl)和安全的websocket客户端(带必需的ssl-wss)。我的服务器如何检测要服务的客户端类型?我的服务器也是用C#编写的。

我尝试使用Available类的Socket属性。 Websocket客户端通常比纯套接字客户端具有更大的价值,但似乎不起作用。 Available的值不稳定。

Socket ClientSocket = Server.Accept();
if (/* condition to decide type of socket client */) // I tried but not work: ClientSocket.Available > 100
{
    NetworkStream _stream = new NetworkStream(ClientSocket);
    var ssl = new SslStream(_stream, false);
    this.Authenticate(ClientSocket, ssl, ServerCertificate);
    // call StartClient() after authenticating successfully
}
else
{
    StartClient(ClientSocket);
}

0 个答案:

没有答案