Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 您如何监控TcpListener待办事项的规模?_C#_Sockets_Tcp - Fatal编程技术网

C# 您如何监控TcpListener待办事项的规模?

C# 您如何监控TcpListener待办事项的规模?,c#,sockets,tcp,C#,Sockets,Tcp,我正在使用C#中的TcpListener类来打开新的tcp连接。我看到了一些性能问题,我想看看这是否是由于运行tcp积压。有什么方法可以检查我流程的待办事项的当前大小吗?您可能需要使用Wireshark之类的实用程序(图形化,但不能从C#AFAIK编写脚本)。Wireshare使用了一个名为WinPcap的库,它对计算机上的TCP流进行实际监控。需要在应用程序中对HTTP头进行解码(这是wireshark/tcpdump/windump应该能够做到的)。您需要使用PInvoke调用WinPcap

我正在使用C#中的TcpListener类来打开新的tcp连接。我看到了一些性能问题,我想看看这是否是由于运行tcp积压。有什么方法可以检查我流程的待办事项的当前大小吗?

您可能需要使用Wireshark之类的实用程序(图形化,但不能从C#AFAIK编写脚本)。Wireshare使用了一个名为WinPcap的库,它对计算机上的TCP流进行实际监控。需要在应用程序中对HTTP头进行解码(这是wireshark/tcpdump/windump应该能够做到的)。您需要使用PInvoke调用WinPcap DLL。您可以通过执行“WinPcap PInvoke”的web搜索来查找库包装

这个问题听起来与以下问题非常相似:


此外,可能有助于

请指定您看到的性能问题类型。通常,backlog限制在
侦听
系统调用期间指定,然后被内核忽略。:-)大量积压工作不应影响您的性能。当积压清除且客户端等待重新传输初始SYN时,忽略大量传入连接的短积压会降低明显的连接速度。为了回答您明确的问题,我知道没有办法直接检查当前待办事项队列的大小。您找到答案了吗。。。。有兴趣!。因为我似乎遇到了一些限制