我尝试使用单个服务器来服务纯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);
}