抱歉,这种问题很严重,但我很快就对此进行了测试,对以下可能的问题一无所知:
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();
...
最佳答案
什么是“网络对象”?我想你的老师补了那个学期。我认为这意味着"file"。
无论如何,如果内容不能完全用ASCII表示,则将失败。
根本不需要遍历文本。只需复制字节:
f.CopyTo(new NetworkStream(sock));
任何其他复制未修改字节的方法也都可以。
请注意,您需要将诸如所有这些流和套接字之类的资源包装到
using
中,以免泄漏。
关于c# - 通过套接字发送流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34705630/