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# 套接字上的重叠数据内存泄漏_C#_Sockets_Memory Leaks_Heap Profiling - Fatal编程技术网

C# 套接字上的重叠数据内存泄漏

C# 套接字上的重叠数据内存泄漏,c#,sockets,memory-leaks,heap-profiling,C#,Sockets,Memory Leaks,Heap Profiling,我正在使用异步套接字使用MSDN文档在客户端和服务器之间建立连接: 我从同步开始,后来是异步。成功完成第一个应用程序后,我开始在GitHub存储库中搜索更多代码和解释。我发现: 没关系,它可以工作,但它有内存泄漏,我开始分析,我发现: (可能内存泄漏) (到处都是循环检测到的语句。Idk知道它们的意思。我想是应用程序或GC强迫它停止并将其标记为循环) 我觉得有点不对劲,因为如果发送1MB的数据,内存应该只会增加1MB,但以后会减少。但这并没有发生。我开始处理所有东西,没有引起异常,

我正在使用异步套接字使用MSDN文档在客户端和服务器之间建立连接:

我从同步开始,后来是异步。成功完成第一个应用程序后,我开始在GitHub存储库中搜索更多代码和解释。我发现:

没关系,它可以工作,但它有内存泄漏,我开始分析,我发现:

(可能内存泄漏)

(到处都是循环检测到的语句。Idk知道它们的意思。我想是应用程序或GC强迫它停止并将其标记为循环)

我觉得有点不对劲,因为如果发送1MB的数据,内存应该只会增加1MB,但以后会减少。但这并没有发生。我开始处理所有东西,没有引起异常,但这并没有多大帮助

我开始在StackOverflow和其他地方搜索,我发现:

然而,我真的不明白那里正在讨论什么

我还发现:

我了解到,套接字需要确认何时已经在BeginSend/EndSend和BeginReceive/EndReceive之间发送了数据,因为如果没有,它将等待,并开始增加内存(直到检测到循环?)

也许在我分享的代码项目中我应该得到这个?我不知道,我该从哪里开始


我需要一个指南。我将尝试分析CodeProject。

您解决过这个问题吗?我也有同样的问题是的,使用另一个实现。那是我的,我这么做只是为了理解插座。但是我建议你使用一些库。你能推荐一些吗?看这个:或者。希望这有帮助!