有时候我不得不使用.Net framework 2.0来处理普通的TCP / IP客户端 - 服务器应用程序。我发现.net 2.0套接字库非常低效,并且用于占用大量内存和处理周期,然后我们切换到C ++,它运行得非常好。
我想检查.Net 3.0或更高版本中的TCP / IP库是否有任何改进。如果您使用.Net TCP / IP库,那么您的体验是什么? 2.0之后的Net 2.0和.net框架?
答案 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
类没有引入任何变化。