Создание TCP-клиента с помощью SSL

Я пытаюсь создать TCP-соединение и отправлять/читать данные, использующие SSL, но я не смог успешно выполнить это.

Что бы я хотел сделать, это примерно так:

    TcpClient _tcpClient = new TcpClient("host", 110);

    BinaryReader reader = 
       new BinaryReader(new System.Net.Security.SslStream(_tcpClient.GetStream(), true));

    Console.WriteLine(reader.ReadString());

Мне все равно не повезло. Исключение возникает при создании BinaryReader.

Кто-нибудь знает простой пример, который делает это? Мне не интересно писать серверную часть этого, просто клиент.

Ответ 1

BinaryReader читает примитивные типы данных как двоичные значения в определенной кодировке, это то, что отправляет ваш сервер?
Если не использовать StreamReader:

TcpClient _tcpClient = new TcpClient("host", 110);

StreamReader reader = 
   new StreamReader(new System.Net.Security.SslStream(_tcpClient.GetStream(), true));

Console.WriteLine(reader.ReadToEnd());

Ответ 2

Я не совсем уверен, что это сработает для вашего приложения, но я бы порекомендовал взглянуть на stunnel:
http://www.stunnel.org


Я использовал его для упаковки существующих TCP-соединений в прошлом.