Что вызывает это исключение system.componentModel.Win32Exception: ... при отправке сообщения через sslstream? - PullRequest
1 голос
/ 06 марта 2012

По какой-то причине я являюсь внутренним исключением: system.componentModel.Win32Exception: клиент и сервер не могут обмениваться данными, поскольку они не имеют общего алгоритма.

серверный код

  public void sendClientTypeRequest()
  {
        try
        {
            stream.AuthenticateAsServer(certInfo.cert, false, SslProtocols.Default, true);
            stream.ReadTimeout = 10000;
            stream.WriteTimeout = 10000;
            Messages.clientType clientType = Messages.clientType.request;
            sendMessage(clientType);
            logMessage("[" + DateTime.Now + "] ", ConsoleColor.Gray);
            logMessage(">> ", ConsoleColor.White);
            logMessage("Sending Client Type Request", ConsoleColor.Gray);
        }
        catch (AuthenticationException e)
        {
            logMessage(e.Message + "\n\n", ConsoleColor.Red);
            if (e.InnerException != null)
                logMessage(e.InnerException.ToString() + "\n\n", ConsoleColor.Red);
            socket.Close();
        }
   }

    private void sendMessage(object message)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        MemoryStream memory = new MemoryStream();
        formatter.Serialize(memory, message);
        byte[] sendBytes = memory.ToArray();
        stream.Write(sendBytes);
    }

Клиентский код

void Start()
{
    socket = new TcpClient();
    socket.Connect(IP, Port);
    stream = new SslStream(socket.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate),null);
    try
    {
        stream.AuthenticateAsClient("servername");
    }
    catch(AuthenticationException e)
    {
        Console.write(e.ToString());
        socket.Close();
    }
    Thread listenerThread = new Thread(listener);
    listenerThread.Start();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...