我正在为一个简单的C#库编写代码,该库负责管理客户机/服务器架构中的UDP通信。
我基于C# System.Net.Sockets.UdpClient类进行通信,包括服务器端和客户端;对于客户端的发送特性,我看到了两种可能的选择:
endpoint
Connect(IPEndPoint endPoint)的单个调用,然后执行对Send(byte[] dgram, int bytes)的后续调用,因此不指定目标Send(byte[] dgram, int bytes)调用Send(byte[] dgram, int bytes, IPEndPoint endPoint),从而指定目标端点关于第一个选项,如果需要一个不同的目标端点,只需执行对Connect的新调用即可。
我看过MSDN,但仍然有几个问题没有得到回答:
的话)。
发布于 2021-02-01 14:59:59
我发现这两种方法之间的细微差别是:
带有
Connect(IPEndPoint endPoint)的Send(byte[] dgram, int bytes)限制客户端只将数据发送到连接到的端点,并暗示从指定默认地址以外的地址到达的任何数据报都将被丢弃。Send(byte[] dgram, int bytes, IPEndPoint endPoint)允许在每次调用时将数据发送到不同的端点,而无需执行reconnection.。
https://stackoverflow.com/questions/60491767
复制相似问题