我有视频数据,并定期为许多客户生成新帧。我从库中获取帧作为 IntPtr 和表示字节数组大小的 int 。目前我正在把它变成一个“内存”并通过 NetworkStream 发送它,一旦我拥有它就实现了相当大的缓冲区的零复制。
我想尝试使用 SocketAsyncEventArgs 做同样的事情,看看它是否表现更好,并为多个客户端尝试这些 UserTokens。但是,我不知道如何告诉 SocketAsyncEventArgs 发送由 IntPtr 指向的内存块,其中 int 表示已知大小,同时保持零拷贝。似乎一些聪明的编组或“MemoryMarshal”应该可以解决问题,但我没有看到。
你有没有办法做到这一点?