2008-10-31 9 views
11

Próbuję utworzyć połączenie TCP i wysyłać/odczytywać dane korzystające z protokołu SSL, ale nie udało mi się tego pomyślnie wykonać.Tworzenie połączenia klienta TCP za pomocą protokołu SSL

Co chciałbym zrobić coś takiego:

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

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

    Console.WriteLine(reader.ReadString()); 

nie miałem szczęścia z nim jednak. Podczas tworzenia pliku BinaryReader generowany jest wyjątek.

Czy ktoś wie o prostym przykładzie, który to robi? Nie jestem zainteresowany pisaniem strony serwera, tylko klientem.

+0

BinaryReder czyta prymitywnych typów danych jako wartości binarnych w określonym kodowaniu, że to, co serwer wysyła? –

+0

Proszę napisać tekst wyjątku. –

Odpowiedz

12

BinaryReader odczytuje prymitywne typy danych jako wartości binarne w określonym kodowaniu, czy to jest to, co wysyła twój serwer?
Jeśli nie używać StreamReader:

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

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

Console.WriteLine(reader.ReadToEnd()); 
1

Nie jestem do końca pewien, czy to będzie działać dla danej aplikacji, ale polecam przyjrzeniu stunnel:
http://www.stunnel.org

Używałem go do owijania istniejące połączenia TCP w przeszłości.