为什么UdpClient.Send中有'bytes'参数?

时间:2012-05-22 03:03:31

标签: .net udpclient

UdpClient.Send方法的重载接受dgram,bytes和端点。

public int Send(byte[] dgram, int bytes, IPEndPoint endPoint)

在MSDN文档中,'bytes'参数的说明如下。

  

字节
  类型:System.Int32
  数据报中的字节数。

为什么有'bytes'参数?是不是可以找出Send方法中dgram数组中的字节数?

1 个答案:

答案 0 :(得分:1)

因为当你在网络上“发送”时,你通常会发送一个你从其他来源编码的字节流。序列化等。

您使用此重载,以便您可以提供缓冲区,并可能只发送该缓冲区字节的子部分。

通常你会创建一个更大的缓冲区,但你可能只填充它的一部分。这样你就可以发送那个缓冲区并说'我只从我的缓冲区发送X字节。