Main Content

write

通过 TCP/IP 向远程主机写入数据

    说明

    示例

    write(t,data) 向 TCP/IP 客户端 t 指定的远程主机发送 N 维矩阵 data,并将其作为 data 的数据类型发送。该函数暂停 MATLAB® 的执行,直到指定的值写入了远程主机。

    write(t,data,datatype)datatype 指定的形式发送 data,而不考虑数据矩阵的格式如何。

    示例

    全部折叠

    创建一个名为 t 的 TCP/IP 客户端连接,使用端口 4000 连接到 TCP/IP 回显服务器。为此,您必须有在端口 4000 上运行的 echotcpip 服务器。

    echotcpip("on",4000)
    t = tcpclient("localhost",4000)
    t = 
      tcpclient with properties:
    
                  Address: 'localhost'
                     Port: 4000
        NumBytesAvailable: 0
    
      Show all properties, functions
    
    

    write 函数以同步方式将数据写入连接到 t 的远程主机。首先指定数据,然后写入该数据。此函数将暂停 MATLAB 的执行,直到指定数量的值写入远程主机。

    为变量 data 分配 10 个字节的 uint8 数据。

    data = uint8(1:10)
    data = 1×10 uint8 row vector
    
        1    2    3    4    5    6    7    8    9   10
    
    

    查看数据。

    whos data
      Name      Size            Bytes  Class    Attributes
    
      data      1x10               10  uint8              
    

    将数据写入回显服务器。

    write(t,data)

    通过查看 NumBytesAvailable 属性确认写入操作成功。

    t.NumBytesAvailable
    ans = 10
    

    由于客户端连接到回显服务器,您写入服务器的数据将返回到客户端。读取所有可用的数据类型。

    read(t)
    ans = 1×10 uint8 row vector
    
        1    2    3    4    5    6    7    8    9   10
    
    

    如果使用不带任何参量的 read 函数,则会从连接到远程主机的 t 中读取所有可用字节数据,并返回这些数据。读取的值的数目由 NumBytesAvailable 属性确定,即输入缓冲区中可用的字节数。

    通过清除 TCP/IP 客户端关闭该对象与远程主机之间的连接。关闭 echotcpip 服务器。

    clear t
    echotcpip("off")

    输入参数

    全部折叠

    TCP/IP 客户端,指定为 tcpclient 对象。

    示例: write(t,data) 写入 TCP/IP 客户端 t

    数值或 ASCII 数据,指定为由数值组成的行 (1×N) 或列 (N×1) 向量或文本类型的字符向量或字符串标量。对于所有数值 datatype 类型,data 是值的行向量。

    示例: write(t,1:5) 写入值 [1,2,3,4,5]

    数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

    每个值的大小和格式,指定为字符向量或字符串。datatype 确定对每个值要写入的字节数以及如何将这些字节解释为 MATLAB 数据类型。

    如果不指定 datatype,该函数将以 data 的数据类型发送数据。

    示例: write(t,1:5,"double") 将值 [1,2,3,4,5] 作为双精度数据写入。

    数据类型: char | string

    扩展功能

    C/C++ 代码生成
    使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

    版本历史记录

    在 R2014b 中推出