【发布时间】:2011-08-14 10:47:48
【问题描述】:
鉴于NetworkStream.Write() 是一个阻塞调用,应该像SendMessage() 这样的方法创建一个新线程来执行写操作,还是应该让SendMessage() 方法阻塞,直到发送消息或发生异常?
我的直觉告诉我阻止此方法是合理的,但查看really nice example of sockets in C# 我发现他们正在创建一个新线程。我看到创建另一个线程的主要问题是错误处理。
PS:我知道写入、读取等的异步版本,但发现 IAsyncResult 相当混乱,目前正在推迟使用这些选项。
【问题讨论】:
-
我真的会学习使用该方法的异步版本。如果您以后需要进行异步 Web 请求,它也会对您有所帮助,因为模型是相同的。此外,如果您想转向 Silverlight 开发,它们只为某些功能提供异步方法。
标签: c# multithreading sockets tcp client-server