很抱歉这类问题,但我很快就写了一个测试,对以下可能的问题一无所知: Web服务器使用以下c#-code片段将静态Web对象写入socket-object' 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();
...
答案 0 :(得分:1)
"网络对象&#34 ;?我想你的老师已经完成了这个术语。我认为这意味着"文件"。
无论如何,如果内容不能完全表示为ASCII,则会失败。
根本没有必要通过文字。只需复制字节:
f.CopyTo(new NetworkStream(sock));
复制未经修改的字节的任何其他方法也没关系。
请注意,您需要将所有这些流和套接字等资源包装到using
中,以免泄漏。