首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UDP - "ConnectAndSend vs SendTo“

UDP - "ConnectAndSend vs SendTo“
EN

Stack Overflow用户
提问于 2020-03-02 15:16:13
回答 1查看 67关注 0票数 0

我正在为一个简单的C#库编写代码,该库负责管理客户机/服务器架构中的UDP通信。

我基于C# System.Net.Sockets.UdpClient类进行通信,包括服务器端和客户端;对于客户端的发送特性,我看到了两种可能的选择:

endpoint

  • always

  • 对指定的目标端点执行对Connect(IPEndPoint endPoint)的单个调用,然后执行对Send(byte[] dgram, int bytes)的后续调用,因此不指定目标Send(byte[] dgram, int bytes)调用Send(byte[] dgram, int bytes, IPEndPoint endPoint),从而指定目标端点

关于第一个选项,如果需要一个不同的目标端点,只需执行对Connect的新调用即可。

我看过MSDN,但仍然有几个问题没有得到回答:

  • are在一个选项和另一个选项之间有什么优势?从技术上讲,第一个选项看起来更干净和清晰,但是第二个选项给您带来了这样的好处:“如果您调用连接方法,来自指定默认地址以外的任何数据报都将是特定的discarded"
  • in,是否有任何性能原因可供选择?再次,在我看来,第一个选项提供了两种不同的方法来实现几乎相同的功能(如果不是same)?

的话)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-01 14:59:59

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

带有

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60491767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档