UDP-"ConnectAndSend vs SendTo"

UDP - "ConnectAndSend vs SendTo"

我正在为一个简单的 C# 库编写代码,负责在 client/server 架构中管理 UDP 通信。
我的通信基于 C# System.Net.Sockets.UdpClient class,包括服务器端和客户端;对于客户端的发送功能,我看到有两种可能的选择:

  1. Connect(IPEndPoint endPoint) 执行一次调用以指定目标端点,然后对 Send(byte[] dgram, int bytes) 执行后续调用,因此无需指定目标端点
  2. 始终执行对 Send(byte[] dgram, int bytes, IPEndPoint endPoint) 的调用,因此指定目标端点

关于第一个选项,如果需要不同的目标端点,只需重新调用 Connect

我查看了 MSDN,但仍有几个问题没有得到解答:

我发现的两种方法之间的细微差别是:

  1. Connect(IPEndPoint endPoint)Send(byte[] dgram, int bytes) 限制客户端仅将数据发送到它所连接的端点,并暗示 从某个地址到达的任何数据报指定默认值以外的其他将被丢弃

  2. Send(byte[] dgram, int bytes, IPEndPoint endPoint) 允许在每次调用时将数据发送到不同的端点,而无需执行重新连接。