.Net TCP / IP库有没有改进?

时间:2010-08-13 07:09:59

标签: .net performance tcp

有时候我不得不使用.Net framework 2.0来处理普通的TCP / IP客户端 - 服务器应用程序。我发现.net 2.0套接字库非常低效,并且用于占用大量内存和处理周期,然后我们切换到C ++,它运行得非常好。

我想检查.Net 3.0或更高版本中的TCP / IP库是否有任何改进。如果您使用.Net TCP / IP库,那么您的体验是什么? 2.0之后的Net 2.0和.net框架?

1 个答案:

答案 0 :(得分:0)

我对基本的Socket课没有任何问题;正如“nos”所指出的那样,它只是WinSock API上的一个非常薄的层。

他们确实将基于*Async / SocketAsyncEventArgs的整个API添加到.NET 2.0 SP1中的Socket(请注意,这应该与基于事件的异步模式,使用*Async*Completed*AsyncEventArgs命名约定。这个API的重点是通过重用本机OVERLAPPED结构来减少对GC的压力,而不必在每次读写时分配和GC。

我实际上并没有使用*Async API;我使用的是Begin* / End* API,并且没有任何性能问题需要注意。据我所知,自2.0 SP1以来,Socket类没有引入任何变化。