我正在为.Net程序员寻找简单的一步一步的沟通教程。在一些Google查询之后,我在net-informations.com找到了“CSharp Communications”代码集。只要我到达“How to C# Chat Server”示例,它看起来就很不错了。
作者建议使用HashTable容器的多线程服务器将所有连接保留在服务器端的共享内存中。根据MSDN文档TcpClient和NetworkStream用于广播消息的类不是线程安全的,而该示例使用来自多个服务器线程的类。
我的问题是:
答案 0 :(得分:5)
它不像7年前我写的那样完美,但它覆盖并且会让你对TCP通信领域有很好的理解:
答案 1 :(得分:1)
根据MSDN文档,用于广播消息的TcpClient和NetworkStream类不是线程安全的,而该示例在多个服务器线程中使用它们。
这是正确的;但它是关于并发访问。如果每个线程依次使用该实例(例如,使用锁来控制访问),则可以使用 。
换句话说:不是线程安全并不意味着绑定到单个线程。