我正在使用该方法UDP
通过.NET 发送消息。socket
SendAsync
问题是:
在我完成事件之前发生了什么?
消息是否已将设备留在网络上?可以用经过的时间来判断传出网速吗?
背景:
我需要知道发起 UDP 发送操作的速率。如果消息在完成事件时通过网络离开设备,我可能会添加一些缓冲区并启动下一个发送操作。我不关心丢失的消息,甚至不关心实际的传输速率。只是大致了解我可以以什么速率发送消息。
我正在使用该方法UDP
通过.NET 发送消息。socket
SendAsync
问题是:
在我完成事件之前发生了什么?
消息是否已将设备留在网络上?可以用经过的时间来判断传出网速吗?
背景:
我需要知道发起 UDP 发送操作的速率。如果消息在完成事件时通过网络离开设备,我可能会添加一些缓冲区并启动下一个发送操作。我不关心丢失的消息,甚至不关心实际的传输速率。只是大致了解我可以以什么速率发送消息。
一点都不。不仅因为您使用UDP
.,更重要的是,因为您使用SendAsync
. 通常,当您使用以Async结尾的方法时,这意味着它们不会阻塞当前线程并且它们将在后台运行,因此您无法衡量它们何时完成工作。为了更清楚地说明这一点,您最好在这里学习多线程。“线程使您的 C# 程序能够执行并发处理,因此您一次可以执行多个操作”并且通常Async
方法以这种方式运行,即异步。因此,如果您对这件事有充分的了解,您甚至无法通过这种方式找到有关速度的衡量标准Async
。