避免高性能服务器套接字中的内存碎片

时间:2012-02-09 05:46:50

标签: c# .net sockets buffer

我一直在研究在.net 3.5中使用新的异步套接字功能,我想我理解使用大型预分配缓冲池的概念,以防止内存碎片,并且GC处理缓冲区会降低性能。

然而,在考虑所有这些的同时,我关注的是我实际上从缓冲区保存数据直到收到整个消息的方式。目前,在每次接收时,我将接收到的数据附加到挂起的消息对象(某些实现中的字符串构建器,以及其他实现中的另一个字节数组)。

这些字节数组是否安全,因为它们永远不会被编组到非托管代码中?或者是否有一种常用方法用于在多个接收中保留数据,以便构建完整的消息以进行处理?

0 个答案:

没有答案