当前位置: 首页 > 面试题库 >

为什么即使进程在本地运行,我也仍然无法获得UDP数据报?

郦翰学
2023-03-14
问题内容

我正在开发流服务器和Flash客户端之间的Java接口。我注意到即使两个进程都在本地运行,UDP数据报也可能无法按顺序到达我的接口。

那是正常的吗?我以为,由于数据报不必通过任何路由器或任何网络设备,因此这应该不会发生。


问题答案:

实际上,即使UDP数据包是由本地主机上的本地主机发送的,也无法保证其顺序和接收。仅仅因为协议的规范并不意味着它的任何含义。

由于无法对它们进行假设,因此应该选择使用TCP或使用程序处理的序列号来处理重新排序。



 类似资料:
  • 下面是我的代码: 和控制台输出以下内容: 我以为使用toString可以去掉[],为什么它还在那里? 编辑:如果toString不是摆脱[]的正确方法,那么正确的方法是什么?

  • 问题内容: 有人可以告诉我线程开始执行的顺序吗?我写了下面的代码 还有这个 当我执行此代码时,我得到许多不同的输出。 另一个, 为什么会这样呢?线程顺序永远不会相同吗?如果有人可以给我一些有关线程和示例基础的知识,那就太好了。PS:我是线程的新手,这是我的第一个线程程序。提前致谢。 问题答案: 当我执行此代码时,我得到许多不同的输出。 这是预期的。该顺序未定义,并且随着线程开始运行并由OS进行线程

  • 我在C#中设置了一个非常简单的Azure函数来响应。当我按照Microsoft Azure指令在本地运行该函数时,我得到的只是一个空的404响应。 我用的是Visual Studio 2017 v15.3预览版,安装了Azure Function Tools扩展。这是我的Azure函数的代码: 当我在本地运行时(通过右键单击VS项目并进行调试) 但是,当我获取或POST到上述URL(将Conten

  • 我有下面的代码: 联机System.NullReferenceException:DownloadLinkList.Add(Item.SelectSingleNode(“.//a”).Attributes[“href”].Value); 怎样才能妥善处理,让它不再崩溃?我的印象是,它应该只是跳过前面。 使用也不是一个选项,因为我仍然需要没有所需的的某个页面的信息。

  • 我正在尝试编写一个非常简单的UDP客户机/服务器对,它将在同一台计算机上一起工作(目前),但是我的包没有一个被传送。以下代码是一个100%完整的VB.NET控制台应用程序。它运行时不会抛出错误,但是mListener。接收命令从不返回。 问题 1:为什么我没有收到任何数据包? 问题2:为什么我不能让我的客户使用IP地址。有没有终点?当我尝试连接到NewIPEndPoint(IPAddress.An

  • 我正尝试在出现连接错误时添加一个控件。我的目的是通过捕捉异常来阻止程序抛出异常。 但它会在控制台中打印: 抱歉,如果我打印了太多的StackTrace... 我想知道,如果我不打印出stacktrace,我如何使异常消失?谢谢:)