使用SSL创建TCP客户端连接

时间:2008-10-31 01:34:00

标签: c# .net ssl tcp

我正在尝试创建TCP连接并发送/读取使用SSL的数据,但我无法成功完成此操作。

我想做的是这样的事情:

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

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

    Console.WriteLine(reader.ReadString());

我虽然没有运气。创建BinaryReader时会抛出异常。

有没有人知道这样做的一个简单例子?我不想写这个服务器端,只是客户端。

2 个答案:

答案 0 :(得分:12)

BinaryReader将原始数据类型作为特定编码的二进制值读取,是您的服务器发送的内容吗? 如果不使用StreamReader:

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

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

Console.WriteLine(reader.ReadToEnd());

答案 1 :(得分:1)

我不完全确定这是否适用于您的应用程序,但我建议您查看stunnel:
http://www.stunnel.org

我过去用它来包装现有的TCP连接。