Je ne sais pas si quelqu'un se soucie plus car c'est tellement vieux mais j'avais besoin de faire exactement cela cette semaine et je n'ai rien trouvé sur internet qui répondait à mes besoins. Peut-être qu'il y a quelque chose de nouveau dans le framework qui fait cela que je n'ai pas pu trouver ... Peu importe, je publierais du code source mais comme je l'ai écrit pour mon entreprise et qu'ils ont tendance à froncer les sourcils, je vais décrire pris:
Depuis que SslStream prend un flux dans le constructeur, j'ai implémenté mon propre sous-type Stream avec un MemoryStream sous-jacent pour les lectures et un autre pour les écritures. Je passe également dans le TcpClient à cet objet aussi.
J'ai utilisé le TcpClient pour effectuer la prise de contact pour la configuration de la connexion SSL. Après avoir authentifié le serveur ou le client en fonction de la façon dont je l'utilise, j'utilise ensuite mes deux MemoryStreams pour la lecture/écriture de SslStream.
Donc, pour les écritures asynchrones, j'écris d'abord ma charge sur le SslStream qui remplit mon MemoryStream pour l'écriture avec des données cryptées. Avec les données cryptées du MemoryStream, je remplis le tampon SocketAsyncEventArgs et appelle la méthode TcpClient SendAsync. Pour les lectures, c'est à peu près le contraire. Je ne peux pas dire que ça m'excite vraiment de déplacer les données comme ça, mais tant que vous ne laissez pas vos objets MemoryBuffer se réallouer constamment, ce n'est pas un problème de performance. Au moins de cette façon, je peux utiliser uniquement le framework et mon propre code sans utiliser de logiciel tiers.
John avez-vous reçu plus d'informations à ce sujet? – Dreaddan