.NET 简单聊天服务器示例

本文关键字:服务器 聊天 简单 NET | 更新日期: 2023-09-27 18:34:15

我一直在寻找面向.Net程序员的简单分步通信教程。 经过一些谷歌查询,我在 net-informations.com 找到了"CSharp Communications"代码集合。只要我到达"如何 C# 聊天服务器"示例,它看起来就相当不错。

作者提出了带有HashTable容器的多线程服务器,以将所有连接保存在服务器端的共享内存中。根据 MSDN 文档,用于广播消息的 TcpClient 和 NetworkStream 类不是线程安全的,而该示例从多个服务器线程使用它们。

我的问题是:

  1. 你能确认这个例子是错误的吗?
  2. 应该怎么做,锁定广播方法(将其标记为关键部分)是否足够?
  3. 你能推荐一些套接字通信教程(.Net首选)吗?

.NET 简单聊天服务器示例

它并不完美,因为我在大约 7 年前写过它,但它涵盖了并会让您很好地理解 TCP 通信领域:

通用 TCP/IP 客户端服务器

根据 MSDN 文档,用于广播消息的 TcpClient 和 NetworkStream 类不是线程安全的,而该示例从多个服务器线程使用它们。

这是正确的;但它是关于并发访问的。如果每个线程依次使用实例(例如,使用锁来控制访问),则可以使用不同的线程。

换句话说:不是线程安全并不意味着绑定到单个线程。