C# 您如何监控TcpListener待办事项的规模?
我正在使用C#中的TcpListener类来打开新的tcp连接。我看到了一些性能问题,我想看看这是否是由于运行tcp积压。有什么方法可以检查我流程的待办事项的当前大小吗?您可能需要使用Wireshark之类的实用程序(图形化,但不能从C#AFAIK编写脚本)。Wireshare使用了一个名为WinPcap的库,它对计算机上的TCP流进行实际监控。需要在应用程序中对HTTP头进行解码(这是wireshark/tcpdump/windump应该能够做到的)。您需要使用PInvoke调用WinPcap DLL。您可以通过执行“WinPcap PInvoke”的web搜索来查找库包装 这个问题听起来与以下问题非常相似:C# 您如何监控TcpListener待办事项的规模?,c#,sockets,tcp,C#,Sockets,Tcp,我正在使用C#中的TcpListener类来打开新的tcp连接。我看到了一些性能问题,我想看看这是否是由于运行tcp积压。有什么方法可以检查我流程的待办事项的当前大小吗?您可能需要使用Wireshark之类的实用程序(图形化,但不能从C#AFAIK编写脚本)。Wireshare使用了一个名为WinPcap的库,它对计算机上的TCP流进行实际监控。需要在应用程序中对HTTP头进行解码(这是wireshark/tcpdump/windump应该能够做到的)。您需要使用PInvoke调用WinPcap
此外,可能有助于请指定您看到的性能问题类型。通常,backlog限制在
侦听
系统调用期间指定,然后被内核忽略。:-)大量积压工作不应影响您的性能。当积压清除且客户端等待重新传输初始SYN时,忽略大量传入连接的短积压会降低明显的连接速度。为了回答您明确的问题,我知道没有办法直接检查当前待办事项队列的大小。您找到答案了吗。。。。有兴趣!。因为我似乎遇到了一些限制