Создание TCP-соединения клиента с SSL - PullRequest
11 голосов
/ 31 октября 2008

Я пытаюсь создать 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 возникает исключение.

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

Ответы [ 2 ]

12 голосов
/ 31 октября 2008

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

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

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

Console.WriteLine(reader.ReadToEnd());
1 голос
/ 31 октября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...