在Socket.BeginSend(List <arraysegment>)中部分发送?

时间:2016-02-25 14:15:13

标签: .net system.net.sockets

我对System.Net.Socket.BeginSend方法有疑问。

public IAsyncResult BeginSend(
    IList<ArraySegment<byte>> buffers,
    SocketFlags socketFlags,
    AsyncCallback callback,
    object state
)

如果SocketFlags.None参数中显示socketFlags,那么在buffers被解雇之前是否会发送所有callback

  • 如果上述问题的答案是EndSend方法只返回已发送缓冲区的字节数。如何知道发送了哪些ArraySegment?我需要愚蠢地循环缓冲区以找到发送的缓冲区?并且可能会发送一半ArraySegment吗?

  • 如果上述问题的答案为buffers的大小是否有限制?如果我一次发送10MB buffers怎么办?

一般来说,我不明白.NET如何在内部处理ArraySegment。在发送之前,ArraySegment缓冲区是否会合并到一个大缓冲区?

0 个答案:

没有答案