WinSock2接受的速度与最慢的客户端一样慢吗?

问题描述

我有一个使用WinSock2的Tcpserver。逻辑很简单。

每当接受返回时,将新套接字放入工作线程中并在那里处理工作。

但是我发现了一些奇怪的东西: 当我具有高延迟连接的客户端和低延迟客户端时,只有高延迟客户端正确连接后,accept才会返回。我对Syn-Queue的印象是,首先准备好的东西都放入了接受队列并返回给应用程序?

高延迟客户端是由VM上的客户端应用程序模拟的,该应用程序在其适配器配置中设置了延迟。该客户端不断连接,工作并断开连接。

低延迟客户端是由客户端在与服务器相同的计算机上模拟的。

为了收听,我使用Winsock2.h中SOMAXCON的Backlog值

任何人都知道发生了什么事?还是我只是误解了Syn / Acceptqueues的工作原理?我知道他们的名字叫Queue,但是我没想到他们是FIFO。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)