Question

J'essaie de créer une connexion TCP et d'envoyer / lire des données à l'aide de SSL, mais je n'ai pas réussi à le faire.

Ce que j'aimerais 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 ça cependant. Une exception est généré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é à écrire le côté serveur de cette tâche, juste le client.

Était-ce utile?

La solution

BinaryReader lit les types de données primitifs sous forme de valeurs binaires dans un codage spécifique. C’est 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());

Autres conseils

Je ne suis pas tout à fait sûr que cela fonctionnera pour votre application, mais je vous conseillerais de jeter un coup d'œil à stunnel:
http://www.stunnel.org

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top