Main Content

Crear cliente TCP/IP y configurar ajustes

La compatibilidad de MATLAB® con clientes TCP/IP le permite conectarse a hosts o hardware remotos desde MATLAB para leer y escribir datos. El flujo de trabajo habitual es:

  • Crear una conexión TCP/IP con un servidor o hardware.

  • Configurar la conexión si es necesario.

  • Realizar operaciones de lectura y escritura.

  • Borrar y cerrar la conexión.

Para comunicarse a través de la interfaz TCP/IP, primero cree un objeto tcpclient.

t = tcpclient(address,port);

La dirección puede ser tanto un nombre de host remoto como una dirección IP remota. En ambos casos, el puerto debe ser un número entero positivo entre 1 y 65535.

Crear un objeto mediante un nombre de host

Cree el objeto TCP/IP t mediante la dirección de host mostrada y el puerto 80.

t = tcpclient("www.mathworks.com",80)
t = 
  tcpclient with properties:

              Address: 'www.mathworks.com'
                 Port: 80
    NumBytesAvailable: 0

  Show all properties, functions

Cuando se conecta con un nombre de host, como una dirección web o 'localhost', la dirección IP se establece de manera predeterminada en el formato IPv6. Si el servidor al que se está conectando espera el formato IPv4, la conexión falla. Para IPv4, puede crear una conexión especificando una dirección IP explícita en vez de un nombre de host.

Crear un objeto mediante una dirección IP

Cree el objeto TCP/IP t mediante la dirección IP mostrada y el puerto 80.

t = tcpclient("144.212.130.17",80)
t = 
  tcpclient with properties:

              Address: '144.212.130.17'
                 Port: 80
    NumBytesAvailable: 0

  Show all properties, functions

Establecer la propiedad de tiempo de espera

Cree el objeto y use un argumento de par nombre-valor para establecer el valor Timeout. El parámetro Timeout especifica el tiempo de espera para completar operaciones de lectura y escritura en segundos y el valor predeterminado es 10. Puede cambiar el valor durante la creación del objeto y después de crear el objeto.

Cree un objeto TCP/IP con un tiempo de espera de 20 segundos.

t = tcpclient("144.212.130.17",80,"Timeout",20)
t = 
  tcpclient with properties:

              Address: '144.212.130.17'
                 Port: 80
    NumBytesAvailable: 0

  Show all properties, functions

Vea la propiedad Timeout.

t.Timeout
ans =

    20

La salida refleja el cambio en la propiedad Timeout.

Establecer la propiedad de tiempo de espera de la conexión

Cree el objeto y use un argumento de par nombre-valor para establecer el valor ConnectTimeout. El parámetro ConnectTimeout especifica el tiempo máximo de espera en segundos en que una solicitud de conexión al host remoto especificado se realiza correctamente o se produce un error. El valor debe ser igual o mayor que 1. Si no especifica ConnectTimeout, tiene el valor predeterminado de Inf. Puede especificar el valor solo durante la creación del objeto.

Cree un objeto TCP/IP y especifique ConnectTimeout como 10 segundos.

t = tcpclient("144.212.130.17",80,"ConnectTimeout",10)
t = 
  tcpclient with properties:

              Address: '144.212.130.17'
                 Port: 80
    NumBytesAvailable: 0

  Show all properties, functions

Vea la propiedad ConnectTimeout.

t.ConnectTimeout
ans =

    10

La salida refleja el cambio en la propiedad ConnectTimeout.

Nota

Si especifica una dirección o un puerto no válido, o no se puede establecer la conexión con el servidor, el objeto no se crea.

Establecer la propiedad de retardo de transferencia

Cree el objeto y use un argumento de par nombre-valor para establecer el valor EnableTransferDelay. El parámetro EnableTransferDelay especifica si el algoritmo de Nagle está activado o desactivado. Si se habilita el retardo de transferencia, el cliente recopila pequeños segmentos de datos pendientes y los envía en un único paquete cuando recibe la confirmación del servidor. Si se deshabilita el retardo de transferencia, el cliente envía de inmediato los datos a la red. Si no especifica EnableTransferDelay, es true de forma predeterminada. Puede especificar el valor solo durante la creación del objeto.

Cree un objeto TCP/IP con el retardo de transferencia deshabilitado.

t = tcpclient("144.212.130.17",80,"EnableTransferDelay",false)
t = 
  tcpclient with properties:

              Address: '144.212.130.17'
                 Port: 80
    NumBytesAvailable: 0

  Show all properties, functions

Vea la propiedad EnableTransferDelay.

t.EnableTransferDelay
ans =

  logical

   0

La salida refleja el cambio en la propiedad EnableTransferDelay.

Ver propiedades del objeto TCP/IP

Después de crear un objeto tcpclient, puede ver una lista completa de propiedades y sus valores. Haga clic en properties en la salida tcpclient.

t = tcpclient("www.mathworks.com",80)
t = 
  tcpclient with properties:

              Address: 'www.mathworks.com'
                 Port: 80
    NumBytesAvailable: 0

  Show all properties, functions

                   Address: 'www.mathworks.com'
                      Port: 80
         NumBytesAvailable: 0

            ConnectTimeout: Inf
                   Timeout: 10
                 ByteOrder: "little-endian"
                Terminator: "LF"

     BytesAvailableFcnMode: "off"
    BytesAvailableFcnCount: 64
         BytesAvailableFcn: []
           NumBytesWritten: 0

       EnableTransferDelay: 1
          ErrorOccurredFcn: []
                  UserData: []

Para obtener más información acerca de cómo configurar estas propiedades, consulte Properties.

Puede utilizar las funciones configureTerminator y configureCallback para configurar determinadas propiedades.

Consulte también

Temas relacionados