0

我正在使用该方法UDP通过.NET 发送消息。socketSendAsync

问题是:

在我完成事件之前发生了什么?

消息是否已将设备留在网络上?可以用经过的时间来判断传出网速吗?

背景:

我需要知道发起 UDP 发送操作的速率。如果消息在完成事件时通过网络离开设备,我可能会添加一些缓冲区并启动下一个发送操作。我不关心丢失的消息,甚至不关心实际的传输速率。只是大致了解我可以以什么速率发送消息。

4

1 回答 1

1

一点都不。不仅因为您使用UDP.,更重要的是,因为您使用SendAsync. 通常,当您使用以Async结尾的方法时,这意味着它们不会阻塞当前线程并且它们将在后台运行,因此您无法衡量它们何时完成工作。为了更清楚地说明这一点,您最好在这里学习多线程。“线程使您的 C# 程序能够执行并发处理,因此您一次可以执行多个操作”并且通常Async方法以这种方式运行,即异步。因此,如果您对这件事有充分的了解,您甚至无法通过这种方式找到有关速度的衡量标准Async

于 2013-08-05T06:35:07.363 回答