C#/ .NET:用于联网的UnmanagedMemoryStream?
我正在考虑使用UnmanagedMemoryStream而不是MemoryStream来处理网络服务器中的传入(也可能是传出?)数据包。我希望实现的是减少值的复制,如果可能的话,避免复制到堆(太多)。
例如,对于传入的数据包,可以执行以下操作:
fixed (byte* p = &data) // where data comes from a socket receive
{
using (var stream = new UnmanagedMemoryStream(p, data.Length))
{
// do handling here...
}
}
不过,我不太确定这样做是否有任何实际好处。任何人都可以得到一些反馈,关于这样做是否有任何价值,而不是使用好的旧托管MemoryStream?
提前致谢。
没有找到相关结果
已邀请:
2 个回复
拈吉勉犬姆
暑袜眠退