C # Как определить, если клиентский сокет нуждается в аутентификации ssl - PullRequest
0 голосов
/ 14 июня 2019

Я попытался использовать один сервер для обслуживания как чистого клиента сокета 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...