11

我正在尝试创建一个 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 时引发异常。

有谁知道这样做的一个简单例子?我对编写服务器端不感兴趣,只是客户端。

4

2 回答 2

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());
于 2008-10-31T01:47:34.117 回答
1

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

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

于 2008-10-31T01:38:12.917 回答