2008-10-31 8 views
11

J'essaie de créer une connexion TCP et d'envoyer/lire des données utilisant le protocole SSL, mais je n'ai pas réussi à le faire.Création d'une connexion client TCP avec SSL

Ce que je voudrais faire est quelque chose comme ceci:

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

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

    Console.WriteLine(reader.ReadString()); 

Je n'ai pas eu de chance avec cependant. Une exception est levée lors de la création de BinaryReader.

Est-ce que quelqu'un connaît un exemple simple qui fait cela? Je ne suis pas intéressé par l'écriture du côté serveur, juste le client.

+0

BinaryReder lit les types de données primitifs comme des valeurs binaires dans un codage spécifique, est que ce que votre serveur envoie? –

+0

S'il vous plaît poster le texte de l'exception. –

Répondre

12

BinaryReader lit les types de données primitifs sous forme de valeurs binaires dans un codage spécifique, est-ce ce que votre serveur envoie?
Sinon, utilisez StreamReader:

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

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

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

Je ne suis pas tout à fait sûr que cela fonctionnera pour votre application mais je vous recommande de jeter un oeil à stunnel:
http://www.stunnel.org

Je l'ai utilisé pour envelopper les connexions TCP existantes dans le passé.

Questions connexes