主要内容

UDP接收

接收来自UDP主机的UDP报文

  • 库:
  • 嵌入式编码器支持包的STMic金宝approelectronics发现板/STM32F746G-Discovery

  • UDP接收块

描述

UDP接收block接收来自UDP主机的UDP数据包。使用块进行无状态和无连接的数据传输。

类中指定的大小的数据向量,该块对每个示例输出UDP包的内容数据量(N)参数。

块接收端口号中指定的端口号上的数据包本端IP端口参数中指定的IP地址远程IP地址(0.0.0.0接受所有)参数。如果要接收所有发送主机的报文,则指定远端IP地址为0.0.0.0.中指定的端口号本端IP端口参数,使用发送主机的远程端口号。

您可以选择以阻断或非阻断的方式接收UDP报文。

请注意

如果您在使用UDP与计算机通信时遇到问题,请调查防病毒或防火墙软件是否阻止了UDP通信。如果是,请尝试配置软件以允许特定IP端口号的流量。

港口

输出

全部展开

类中指定的大小的数据向量,端口在每个采样时间输出所接收的数据包的内容数据量(N)参数。有关更多信息,请参见接收UDP报文

数据类型:int8|uint8|int16|uint16|int32|uint32|||布尔

在每个采样时间,端口输出0接收的数据长度大于或等于中指定的长度时数据量(N)参数。值为0指示在给定的时间步骤接收请求的数据。否则,它输出一个非零值,表明没有新的数据可用。

有关更多信息,请参见接收UDP报文

数据类型:uint16

参数

全部展开

指定希望从中接收数据包的应用程序的端口号。将本地端口号与发送主机的远端端口号匹配。

指定块接收数据包的远端主机的IP地址。要接收所有发送主机的数据包,请指定0.0.0.0

选择块从发送主机接收元素的数据类型。每个元素的大小取决于它的数据类型。

指定希望在每个包中接收的元素数量。

  • —当选择该参数时,读操作将在阻塞模式.读取操作在等待所请求的数据可用时被阻塞。如果数据可用,则数据端口输出数据。如果数据不可用,则数据端口等待数据。

    如果计划开始下一个读取操作时,目标硬件仍在等待数据可用,则会发生任务溢出。

    修复超支:

    • 方法增加时间步长样品时间参数。

    • 方法减少请求的数据长度数据量(N)参数。

  • —清除该参数时,读操作将在非阻塞模式.读取数据时,如果数据不可用,则数据端口包含上一个时间步中收到的数据包。在这种模式下,块不等待请求的数据可用。

当您将此参数指定为-1, 金宝appSimulink®根据模型中的块上下文确定块的最佳采样时间。

接收UDP报文

本例描述当接收到的数据包长度小于、大于或等于请求数据长度时,输出端口的值。

  • 接收的UDP报文长度=数据大小(N):数据端口将包输出为指定大小的数据向量数据量(N)参数。

    状态端口输出0,表示收到了请求的数据。

    假设数据量(N)参数为4,接收到的报文长度为4。

    在这种情况下,数据Port输出一个大小为4的数据向量,其中填充了数据包的元素。

    的值状态端口是0

  • 接收的UDP报文长度<数据大小(N):数据端口将包输出为指定大小的数据向量数据量(N)参数。向量中的所有空格都用随机值填充。

    状态Port输出非零值,表示没有接收到新的数据。

    假设数据量(N)参数为4,接收到的数据长度为3字节。

    在这种情况下,数据端口输出大小为4的数据向量。vector中的前三个元素是来自所接收数据包的元素。剩余空间由随机值填充。

    状态Port输出一个非零值。

  • 接收UDP报文长度>数据大小(N):数据属性中指定的大小的数据向量数据量(N)参数。向量只包含第一个向量N包中的元素。其余的元素被删除。

    状态端口输出0,表示收到了请求的数据。

    假设数据量(N)参数为4,接收到的数据长度为5字节。在这种情况下,数据端口输出大小为4的数据向量。vector只包含接收到的数据包中的前四个元素。剩下的元素被删除。的值状态端口是0

版本历史

在R2017a中引入

另请参阅