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