很抱歉出现这种类型的问题,但我很快就会对此进行测试,对以下可能的问题一无所知:web服务器使用以下c#代码片段将静态web对象写入套接字对象"sock"。代码对哪种类型的web对象有效,对哪种无效?使用什么.Net类可以改进代码?
...
f = new FileStream(pathName, FileMode.Open, FileAccess.Read);
StreamReader sReader = new StreamReader(f);
sReader.BaseStream.Seek(0, SeekOrigin.Begin);
String s = sReader.ReadlLine();
while (s != null)
{
sock.Send(System.Text.Encoding.ASCII.GetBytes(s));
s = sReader.ReadLine();
}
sReader.Close();
...
什么是"web对象"?我想你的老师编造了那个学期。我想这意味着"文件"。
无论如何,如果内容不能准确地表示为ASCII,这将失败。
根本没有必要浏览文本。只需复制字节:
f.CopyTo(new NetworkStream(sock));
任何其他未经修改地复制字节的方法也可以。
请注意,您需要将所有这些流和套接字等资源封装到using
中,以避免泄漏。