主要内容

tcpclient

创建与TCP/IP服务器的TCP/IP客户端连接

描述

一个tcpclient对象表示从MATLAB到远程主机和远程端口的连接®读写数据。远程主机可以是支持TCP/IP通信的服务器或硬件,并且必须已经存在。万博1manbetx的tcpclient对象始终是客户端,不能用作服务器。有关创建TCP/IP服务器的信息,请参见使用TCP/IP服务器套接字进行通信

创建

描述

例子

t= tcpclient (地址港口)创建连接到与远程主机关联的服务器的TCP/IP客户端地址和远程端口港口.的价值地址可以是远程主机名或远程主机IP地址。的价值港口必须是1到65535之间的一个数字。输入地址设置地址属性和输入港口设置港口财产。

如果您指定了一个无效的地址或端口,TCP/IP服务器没有运行,或者与服务器的连接不能建立,那么对象就不会被创建,MATLAB抛出一个错误。

例子

t= tcpclient (地址港口名称,值)创建连接并设置附加属性使用一个或多个名称-值对参数。设置超时ConnectTimeout使用名称-值对参数的属性。将每个属性名用引号括起来,后面跟着属性值。

例子:t = tcpclient(“144.212.130.17 ",80年,“超时”,20日“ConnectTimeout”,30)创建一个TCP/IP客户端连接到IP地址为44.212.130.17的80端口TCP/IP服务器。它将超时时间设置为20秒,连接超时设置为30秒。

属性

全部展开

对象创建属性

远程主机名或IP地址,指定为字符向量或字符串标量。此属性只能在对象创建时设置。

例子:t = tcpclient (" www.tianjin-qmedu.com ", 80)在www.tianjin-qmedu.com上创建一个到端口80的TCP/IP客户端连接。

例子:t = tcpclient(“144.212.130.17”,80年)创建一个TCP/IP客户端连接到TCP/IP服务器的80端口,IP地址为144.212.130.17。

数据类型:字符|字符串

远端主机端口,指定为1到65535之间的数字,包括。此属性只能在对象创建时设置。

例子:t = tcpclient (" www.tianjin-qmedu.com ", 80)在www.tianjin-qmedu.com上创建一个到端口4012的TCP/IP客户端连接。

数据类型:

允许完成读和写操作的时间(以秒为单位),指定为数值。在对象创建时使用名称-值对参数设置此属性。您也可以在创建对象后使用点符号来更改它。

例子:t = tcpclient(“144.212.130.17 ",80年,“超时”,20)设置读写超时时间为20秒。

数据类型:

允许连接到远程主机的时间(以秒为单位),指定为数值。此属性指定到指定远程主机的连接请求成功或失败的最大等待时间。此属性只能在对象创建时设置。

例子:t = tcpclient("144.212.130.17",80,"ConnectTimeout", 30)设置连接超时时间为30秒。

数据类型:

读写属性

此属性是只读的。

可读的字节数,以数字值的形式返回。

例子:t.NumBytesAvailable返回可读的字节数。

数据类型:

此属性是只读的。

写入远程主机的总字节数,以数字值的形式返回。

例子:t.NumBytesWritten返回写入的字节数。

数据类型:

字节排列成较大数值的顺序,指定为“低位优先”“大端法”

在读写多字节数据类型时设置此属性的值,例如uint16int16uint32int32,或.此属性的值必须与所连接的远程主机的配置匹配tcpclient.远程主机或其他应用程序的默认字节顺序可能为大端顺序,而此属性的默认值为低位优先

例子:t.ByteOrder =“大端法”将字节顺序设置为大端顺序。

数据类型:字符|字符串

用于读写以ascii结束的数据的终止符,返回为“如果”“CR”“CR / LF”,或一个从0到255(含0)的数字。如果读写终止符不同,《终结者》作为这些值的1x2单元格数组返回。属性设置此属性configureTerminator函数。

例子:configureTerminator (t,“CR”)将读和写终止符都设置为“CR”

例子:configureTerminator (t,“CR”,10)将读终止符设置为“CR”和写入终止符10

数据类型:|字符|字符串

回调函数属性

可用的回调触发模式,返回为“关闭”“字节”,或“终结者”.由指定的字节数触发的回调是否关闭BytesAvailableFcnCount,或由指定的终止符触发《终结者》.属性设置此属性configureCallback函数。

例子:configureCallback (t,“字节”,50岁,@callbackFcn)设置callbackFcn每次有50个字节的新数据可供读取时触发。

例子:configureCallback (t,“终结者”,@callbackFcn)设置callbackFcn当终止符可用来读取时触发的回调。

例子:“关闭”configureCallback (dev)关闭回调。

数据类型:字符|字符串

触发指定的回调的数据字节数BytesAvailableFcn,返回为double。该值仅在BytesAvailableFcnMode属性是“字节”.属性设置这些属性configureCallback函数。

例子:configureCallback (t,“字节”,50岁,@callbackFcn)设置callbackFcn每次有50个字节的新数据可供读取时触发。

数据类型:

由bytes available事件触发的回调函数,作为函数句柄返回。字节可用事件通过接收一定数量的字节或终止符生成。在指定函数句柄之前,此属性为空。属性设置此属性configureCallback函数。

例子:configureCallback (t,“字节”,50岁,@callbackFcn)设置callbackFcn每次有50个字节的新数据可供读取时触发。

数据类型:function_handle

由错误事件触发的回调函数,作为函数句柄返回。当发生异步读写错误时,产生错误事件。在指定函数句柄之前,此属性为空。

例子:t.ErrorOccurredFcn = @myErrorFcn

数据类型:function_handle

用户数据的通用属性,作为任何MATLAB数据类型返回。例如,当从回调函数触发事件时,可以使用此属性存储数据。

例子:t.UserData

对象的功能

通过TCP/IP从远程主机读取数据
readline 通过TCP/IP从远程主机读取一行ASCII字符串数据
readbinblock 通过TCP/IP从远程主机读取一个二进制数据块
通过TCP/IP向远程主机写入数据
writeline 通过TCP/IP将一行ASCII数据写入远程主机
writebinblock 通过TCP/IP将一个二进制数据块写入远程主机
writeread 通过TCP/IP向远程主机写入命令,并读取响应
configureTerminator 设置通过TCP/IP与远程主机进行ASCII字符串通信的终止程序
configureCallback 设置通过TCP/IP与远程主机通信的回调函数和触发条件
冲洗 清除通过TCP/IP与远程主机通信的缓冲区

例子

全部折叠

创建TCP/IP对象t使用显示的主机地址和端口80

t = tcpclient (“www.tianjin-qmedu.com”, 80)
t = tcpclient with properties: Address: 'www.tianjin-qmedu.com' Port: 80 NumBytesAvailable: 0显示所有属性,函数

当您使用主机名连接时,例如指定的网络地址或“localhost, IP地址默认为IPv6格式。如果连接的服务器是IPv4格式,则连接失败。对于IPv4,可以通过指定显式的IP地址而不是主机名来创建连接。

创建一个调用的TCP/IP客户端连接t使用显示的IP地址和端口80

t = tcpclient (“144.212.130.17”, 80)
t = tcpclient with properties: Address: '144.212.130.17' Port: 80 NumBytesAvailable: 0显示所有属性,函数

创建一个调用的TCP/IP客户端连接t并设置超时时间为20秒。

t = tcpclient (“144.212.130.17”, 80,“超时”, 20)
t = tcpclient with properties: Address: '144.212.130.17' Port: 80 NumBytesAvailable: 0显示所有属性,函数
ans = 20

看到…的价值超时

t.Timeout

输出反映了属性更改。

创建一个调用的TCP/IP客户端连接t并设置ConnectTimeout属性为30秒。

t = tcpclient (“144.212.130.17”, 80,“ConnectTimeout”, 30)
t = tcpclient with properties: Address: '144.212.130.17' Port: 80 NumBytesAvailable: 0显示所有属性,函数

看到…的价值ConnectTimeout

t.ConnectTimeout
ans = 30

输出反映了属性更改。

创建一个调用的TCP/IP客户端连接t,连接端口为4000的TCP/IP回显服务器。要做到这一点,你必须有echotcpip服务器运行在端口4000上。

echotcpip (“上”t = tcpclient(“localhost”, 4000)
t = tcpclient with properties: Address: 'localhost' Port: 4000 NumBytesAvailable: 0显示所有属性,函数

命令功能同步向连接的远程主机写入数据t.首先指定数据,然后写入数据。该函数暂停MATLAB执行,直到指定数量的值被写入远程主机。

赋值10字节uint8数据到变量数据

data = uint8 (1:10)
data =1×10 uint8行向量1 2 3 4 5 6 7 8 9 10

查看数据。

数据
名称大小字节类属性数据1x10 10 uint8

将数据写入回显服务器。

写(t,数据)

通过查看文件,确认写操作成功NumBytesAvailable财产。

t.NumBytesAvailable
ans = 10

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

读(t)
ans =1×10 uint8行向量1 2 3 4 5 6 7 8 9 10

使用不带参数的函数将从其中读取所有可用的数据字节t连接到远程主机并返回数据。属性决定读取的值的数量NumBytesAvailable属性,它是输入缓冲区中可用的字节数。

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

清晰的techotcpip (“关闭”)

扩展功能

介绍了R2014b