主要内容

udpport.

连接到UDP插座

    描述

    udpport.对象允许您使用本地主机上的UDP套接字执行字节类型和数据报型UDP通信。

    创建

    描述

    例子

    u = udpport.要么U = Udpport(“byte”)构造一个字节类型udpport.目的,将IP地址版本设置为IPv4,绑定到UDP套接字。

    u = udpport(“byte”,IPV.构造一个字节类型udpport.具有指定的IP地址版本的对象IPV.,它可以是“IPv4”要么“IPv6”

    例子

    U = Udpport(“数据报”)构建数据报类型udpport.目的,IP地址版本设置为IPv4。

    u = udpport(“数据报”,IPV.使用指定的IP地址版本构造数据报型UDPPort对象IPV.,它可以是“IPv4”要么“IPv6”

    例子

    u = udpport(___名称,价值构建A.udpport.对象并使用名称值对参数设置指定的对象属性。如果指定无效的属性名称或值,则该函数不会创建对象。udpport.可以使用名称值对参数设置的属性localhost.localport.超时byteOrder.outputdatagramsize., 和enableportsharing.

    输入参数

    展开全部

    IP地址版本,指定为“IPv4”要么“IPv6”

    笔记

    IP地址版本必须在您的设置上保持一致。您无法在IPv4套接字和IPv6地址之间进行通信,反之亦然。

    名称值对参数

    指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

    支持名称值参数的属性是金宝applocalhost.localport.超时byteOrder.outputdatagramsize., 和enableportsharing.。这些,localhost.localport., 和enableportsharing.在读之后成为只读udpport.创建对象。

    例子:“超时”,60

    特性

    展开全部

    字节和数据报共有的属性udpport.对象

    此属性是只读的。

    版本类型的IP地址,指定为“IPv4”要么“IPv6”

    例子:“IPv6”

    数据类型:char|细绳

    此属性是只读的。

    本地主机名或虚线 - 十进制IP地址,指定为字符向量或字符串。如果您未指定值localhost.当你创造的时候udpport.对象,默认值是“0.0.0.0”对于IPv4,或“::”对于IPv6。

    例子:“144.133.0.0”

    数据类型:char|细绳

    此属性是只读的。

    用于绑定UDP的本地主机端口,指定为0到65535的数值。如果您未指定值localport.当你创造的时候udpport.对象,将自动分配值。

    例子:50791

    数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

    顺序顺序,其中字节排列成更大的数值,指定为“小endian”要么“Big-Endian”

    例子:“Big-Endian”

    数据类型:char|细绳

    允许在秒内允许读写操作的时间,指定为双倍。

    例子:20.

    数据类型:双倍的

    要在数据报数据包中写入的最大数据数量,指定为从1到65507的双值。

    例子:512.

    数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

    此属性是只读的。

    设置为允许其他UDP套接字绑定到与此套接字相同的本地端口,指定为逻辑真的1) 要么错误的0.)。

    例子:真的

    数据类型:逻辑

    设置为允许广播,指定为逻辑真的1) 要么错误的0.)。

    例子:真的

    数据类型:逻辑

    此属性是只读的。

    设置为允许组播,指定为逻辑真的1) 要么错误的0.)。

    例子:真的

    数据类型:逻辑

    此属性是只读的。

    IP地址组订阅接收多播数据。使用此属性设置此属性configuremulticast.功能。

    例子:“226.0.0.1”

    数据类型:char|细绳

    此属性是只读的。

    表示数据的循环udpport.组播如果发件人订阅了相同的组播组,则指定为逻辑。使用此属性设置此属性configuremulticast.功能。

    例子:错误的

    数据类型:逻辑

    发生错误事件时调用的函数,指定为函数句柄。

    例子:@myerrorfun.

    数据类型:function_handle.

    特定于应用程序的数据udpport.实例。这是用户数据的通用属性,指定为任何MATLAB®数据类型。例如,您可以使用此属性从回调函数触发事件时存储数据。

    例子:约会时间()

    数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑|char|细绳|塑造|桌子|细胞|function_handle.|分类|约会时间|期间|日历|FI.

    字节udpport.对象属性

    此属性是只读的。

    可读取的字节数,作为双倍返回。

    例子:512.

    数据类型:双倍的

    此属性是只读的。

    写入的字节数udpport.插座,作为双倍返回。

    例子:48.

    数据类型:双倍的

    此属性是只读的。

    终结器用于ASCII-HONDIED字符串通信,作为字符串或数值返回。如果读取和写入操作具有不同的终结器,则将值作为小区数组重新调整。要设置此属性值,请使用configureterminator.功能。

    例子:“cr / lf”

    数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|细绳|细胞

    此属性是只读的。

    函数调用当发生字节的事件时,指定为函数句柄。要设置此属性值,请使用configurecallback.功能。

    例子:@myavailfun.

    数据类型:function_handle.

    此属性是只读的。

    输入缓冲区中所需的字节数触发可用的字节活动,返回为数值。此属性仅适用于什么时候bytesavailablefcnmode.“字节”。要设置此属性值,请使用configurecallback.功能。

    例子:64.

    数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

    此属性是只读的。

    触发的条件bytesavailablefcn.回调,返回“离开”“字节”, 要么“终结者”。要设置此属性值,请使用configurecallback.功能。

    例子:“字节”

    数据类型:细绳

    数据报udpport.对象属性

    此属性是只读的。

    可读取的数据报数,作为双倍返回。

    例子:64.

    数据类型:双倍的

    此属性是只读的。

    写入的数据报数量udpport.插座,作为双倍返回。

    例子:8.

    数据类型:双倍的

    此属性是只读的。

    函数调用当发生数据报可用事件时,返回为函数句柄。要设置此属性值,请使用configurecallback.功能。

    例子:@myavailfcn.

    数据类型:function_handle.

    此属性是只读的。

    可用数据报的数量要触发数据报可用的事件,返回为数值。此属性仅适用于什么时候bytesavailablefcnmode.“数据报”。要设置此属性值,请使用configurecallback.功能。

    例子:16.

    数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

    此属性是只读的。

    触发a的条件DatagramsavailableFCN.回调,返回“离开”要么“数据报”。要设置此属性值,请使用configurecallback.功能。

    例子:“数据报”

    数据类型:细绳

    对象功能

    字节类型和数据报类型的函数udpport.接口:

    从UDP套接字读取数据
    将数据写入UDP套接字
    configurecallback. 设置回调函数和触发条件,以便与UDP套接字通信
    configuremulticast. 设置与UDP套接字通信的组播属性
    fl 清除UDP套接字缓冲区

    函数for byte-typeudpport.仅限接口:

    读数 从UDP插座读取ASCII字符串数据的行
    写道 将ASCII数据写入UDP套接字
    configureterminator. 设置与UDP套接字的ASCII字符串通信的终结器

    例子

    全部收缩

    此示例显示字节类型UDP通信的常见任务。

    构造一个字节类型udpport.目的。

    u = udpport(“IPv4”
    U =具有属性的UDPPort:iPaddressversion:“IPv4”localhost:localport:60825 numbytesavailable:0

    写一个矢量uint8.数据通过这件udpport.套接字到指定地址和端口..

    写(你,1:5,“uint8”“125.0.1.4”,2020);

    阅读10个值uint16数据来自udpport.插座。

    数据=读(U,10,“uint16”);

    定义终结器,并通过中发送字符串udpport.套接字到指定地址和端口。

    configureterminator(U,“cr / lf”);写道(U,“你好”“125.0.1.4”,2020);

    从中读取ASCII终止字符串udpport.插座。

    数据= readline(u);

    订阅组播地址组。

    configuremulticast(U,“226.0.0.1”);

    配置50个字节时,配置回调以触发。

    configurecallback(U,“字节”,50,@ mycallbackfcn);

    刷新输出缓冲区,然后断开连接并清除udpport.联系。

    冲洗(U,“输出”);清除

    此示例显示了数据报型UDP通信的常见任务。

    构建数据报类型udpport.目的。

    u = udpport(“数据报”“IPv4”
    U =带有属性的UDPPort:iPaddressversion:“IPv4”localhost:“0.0.0.0”localport:53465 numdatagramsavailable:0

    写一个矢量uint8.通过UDPPORT套接字到指定地址和端口的数据。

    写(你,1:5,“uint8”“125.0.1.4”,2020);

    阅读一个数据报数据包uint16数据。

    数据=读(U,1,“uint16”);

    订阅组播地址组。

    configuremulticast(U,“226.0.0.1”);

    配置5个数据报可用时配置回调以触发。

    configurecallback(U,“数据报”,5,@ mycallbackfcn);

    刷新输出缓冲区,然后断开连接并清除udpport.联系。

    冲洗(U,“输出”);清除

    此示例显示了数据报尺寸如何影响数据分段。

    转动echoudp.在端口3030,然后创建数据报类型udpport.对象与A.outputdatagramsize.5。

    Echoudp(“在”,3030);u = udpport(“数据报”“outputdatagramsize”5);

    发送20个字节uint8.数据到echoudp.港口。

    写(U,1:20,“uint8”“127.0.0.1”,3030);

    因为outputdatagramsize.设置为5,将20个字节作为4个数据报报文发送,每个数据包包含5个字节的数据。

    验证是否从echo服务器收到了4个数据报。

    u.numdatagramsavailable.
    ans = 4.

    阅读从echo服务器收到的4个数据报。

    数据=读取(u,u.numdatagramsavailable,“uint8”
    数据= 1×4数据报阵列具有属性:Data SenderAddress SenderPort

    第一个数据报包含值1-5(5个字节),第二个6-10,第三个11-15和第四个16-20。

    查看第三个数据报。

    数据(3)
    ANS =具有属性的数据报:数据:[11 12 13 14 15] SenderAddress:“127.0.0.1”SenderPort:3030

    允许多个udpport.对象以共享相同的本地端口。

    创建一个udpport.对象绑定到localport.3030。

    u1 = udpport(“localport”3030,“enablePortSharing”,真的);

    创建一个单独的udpport.使用相同端口的对象。

    u2 = udpport(“localport”3030,“enablePortSharing”,真的);

    enableportsharing.必须是真的对彼此而言udpport.对象。

    也可以看看

    功能

    在R2020B中介绍