c# - 多个 tcpip 客户端连接到同一台服务器?

标签 c# tcp

我刚刚开始学习 TCP/IP。

我编写了一个简单的 TCP/IP 服务器,它监听端口 3000 并在收到连接时生成一个线程。那个新线程坐下来读取数据。我的客户端应用程序创建了 100 个到该服务器的连接,并且使用线程池,每个连接都有机会向服务器发送一条唯一的消息。

服务器不响应该消息 - 它只将其打印到屏幕上。所以,我看到的是服务器中的监听线程有时会在同一次读取中读取来自多个不同客户端的消息。

我的印象是 TCP 会将每条消息分开,以允许服务器中的每个线程读取发送给它的消息,而不是所有其他线程。是我的理解有误,还是我的代码中发生了其他问题?

最佳答案

您的代码中还有其他内容。 TCP 或 UDP 都不会在同一次读取中从多个客户端接收。

我会看一下我的缓冲区处理。请发布一些有关读取的服务器代码。

关于c# - 多个 tcpip 客户端连接到同一台服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5437119/

相关文章:

tcp - 为什么确认号减少到 1?

sockets - Rust 持久化 TcpStream

tcp - 通过 TCP 使用 RTSP 抓取视频

c++ - 通过 poco 流套接字发送文件

c# - 将 leet-speak 转换为明文

c# - 在 DataGridTextColumn 中绑定(bind) ViewModel 属性

c# - AWS Lambda 中的空白环境变量

c# - 序列化是否最适合通过套接字发送数据?

c# - 没有行时在DataGridView中显示文本

c# - IEnumerable.Cast 不调用强制转换重载