2008-10-31 19 views
11

Estoy tratando de crear una conexión TCP y enviar/leer datos que usan SSL, pero no he podido lograr esto con éxito.Crear una conexión de cliente TCP con SSL

Lo que me gustaría hacer es algo como esto:

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

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

    Console.WriteLine(reader.ReadString()); 

no he tenido ninguna suerte con él sin embargo. Se lanza una excepción al crear el BinaryReader.

¿Alguien sabe de un ejemplo simple que hace esto? No estoy interesado en escribir el lado del servidor de esto, solo el cliente.

+0

BinaryReder lee tipos de datos primitivos como valores binarios en una codificación específica, es que lo envía a su servidor? –

+0

Por favor, publique el texto de la excepción. –

Respuesta

12

BinaryReader lee los tipos de datos primitivos como valores binarios en una codificación específica, ¿eso es lo que envía su servidor?
Si no utilizar StreamReader:

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

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

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

No estoy del todo seguro de si esto funcionará para su aplicación, pero yo recomendaría echar un vistazo a stunnel:
http://www.stunnel.org

Lo he utilizado para envolver las conexiones TCP existentes en el pasado.