本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

创建 TCP/IP 连接

MATLAB® TCP/IP 客户端支持从 MATLAB 连接到远程主机或硬件以读取和写入数据。典型的工作流如下:

  • 创建到服务器或硬件的 TCP/IP 连接。

  • 配置连接(如有必要)。

  • 执行读取和写入操作。

  • 清除并关闭连接。

要通过 TCP/IP 接口进行通信,首先使用 tcpclient 函数创建一个 TCP/IP 对象。语法为:

<objname> = tcpclient(Address, Port)

地址可以为远程主机名称或远程 IP 地址。无论哪种情况,Port 都必须为介于 165535 之间的正整数。

使用主机名创建对象

此示例使用所示的主机地址和 port 80 创建 TCP/IP 对象 t

t = tcpclient('www.mathworks.com', 80)

t = 

   tcpclient with properties:

          Address: 'www.mathworks.com'
             Port: 80
          Timeout: 10
   BytesAvailable: 0
   ConnectTimeout: Inf

注意

当使用主机名(例如指定的 Web 地址或 'localhost')连接时,将根据网络接口的配置解析 IP 地址。其结果可能会将地址解析为 IPv4 地址或 IPv6 地址。如果 TCP/IP 服务器只接受传入连接为某种类型的地址,例如 IPv4 地址,则在创建客户端时可能需要使用显式 IP 地址,而不是主机名。

使用 IP 地址创建对象

此示例使用所示的 IP 地址和 port 4012 创建 TCP/IP 对象 t

t = tcpclient('172.28.154.231', 4012)

t = 

   tcpclient with properties:

          Address: '172.28.154.231'
             Port: 4012
          Timeout: 10
   BytesAvailable: 0
   ConnectTimeout: Inf

设置超时属性

您可以使用名称-值对组创建对象以设置 Timeout 值。Timeout 属性以秒为单位指定完成读写操作的等待时间,默认为 10。您可以在创建对象期间或在创建对象之后更改该值。

此示例创建一个 TCP/IP 对象,但将 Timeout 增加到 20 秒。

t = tcpclient('172.28.154.231', 4012, 'Timeout', 20)

t = 

   tcpclient with properties:

          Address: '172.28.154.231'
             Port: 4012
          Timeout: 20
   BytesAvailable: 0
   ConnectTimeout: Inf

输出会反映 Timeout 属性更改。

设置连接超时属性

您可以使用名称-值对组创建对象以设置 ConnectTimeout 值。ConnectTimeout 属性指定等待对指定远程主机的连接请求是成功还是失败的最长时间(以秒为单位)。该值必须大于或等于 1。如果未指定,ConnectionTimeout 的默认值为 Inf。仅可在对象创建期间更改该值。

此示例创建一个 TCP/IP 对象,但将 ConnectTimeout 指定为 10 秒。

t = tcpclient('172.28.154.231', 4012, 'ConnectTimeout', 10)

t = 

   tcpclient with properties:

          Address: '172.28.154.231'
             Port: 4012
          Timeout: 10
   BytesAvailable: 0
   ConnectTimeout: 10

输出会反映 ConnectTimeout 属性更改。

注意

如果指定的地址或端口无效,或者无法建立与服务器的连接,则不会创建对象。