Tag: 流sslstream

如何允许服务器接受SSL和纯文本(不安全)连接?

我正在尝试创建一个可以接受安全SSL和不安全的纯文本连接的服务器(为了向后兼容)。 我的代码几乎正常工作,除了从不安全客户端收到的第一个传输数据丢失了服务器上的前5个字节(字符)。 更具体地说,如果我在不安全的连接上传输30个字节,当服务器到达OnClientDataReceived()函数时,行“ int iRx = nwStream.EndRead(asyn); ”,则iRx = 25 。 从客户端发送的任何后续消息都包含所有发送的字节/字符。 我怀疑连接的初始假设是SSLStream可能正在剥离前5个字节,然后当它失败时,这5个字节已经从缓冲区中提取出来并且不再可用。 有没有人知道我可以采取另一种方法来编写代码,以便服务器能够自动切换? 我试图避免做以下事情: 要求客户端使用纯文本NetworkStream连接,然后请求升级到SSL流 在两个不同的端口上设置两个TcpListeners (一个用于安全,一个用于不安全) 这是我的代码: /// Each client that connects gets an instance of the ConnectedClient class. Class Pseudo_ConnectedClient { //Properties byte[] Buffer; //Holds temporary buffer of read bytes from BeginRead() TcpClient TCPClient; //Reference to the connected client Socket ClientSocket; //The […]