read

Считайте данные из удаленного хоста по TCP/IP

    Описание

    пример

    data = read(t) чтения все доступные числовой или данные о ASCII из удаленного хоста, заданного клиентом TCP/IP t и возвращает данные как строку, или вектор-столбец удваивается или текст. Количество чтения значений задано NumBytesAvailable свойство t. Функция приостанавливает выполнение MATLAB®, пока конкретное количество значений не читается, или тайм-аут происходит.

    data = read(t,count) чтения count количество значений и возвращает данные.

    пример

    data = read(t,count,datatype) чтения count количество значений в форме задано datatype и возвращает данные. datatype аргумент является вектором символов стандартного типа данных MATLAB.

    Примеры

    свернуть все

    Создайте клиентскую связь TCP/IP под названием t, соединение с TCP/IP повторяет сервер с портом 4000. Для этого у вас должен быть echotcpip работа сервера порта 4000.

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

    write функция синхронно записывает данные к удаленному хосту, соединенному с t. Сначала задайте данные и затем запишите данные. Функция приостанавливает выполнение MATLAB, пока конкретное количество значений не записано в удаленный хост.

    Присвойте 10 байтов uint8 данные к переменной data.

    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 под названием t, соединение с TCP/IP повторяет сервер с портом 4000. Для этого у вас должен быть echotcpip работа сервера порта 4000.

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

    write функция синхронно записывает данные к удаленному хосту, соединенному с t. Сначала задайте данные и затем запишите данные. Функция ожидает, пока конкретное количество значений не записано в удаленный хост.

    Присвойте 10 байтов данных к переменной data.

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

    Просмотрите данные.

    whos data
      Name      Size            Bytes  Class     Attributes
    
      data      1x10               80  double              
    

    Запишите данные к серверу эха.

    write(t,data)

    Подтвердите успех операции записи путем просмотра NumBytesAvailable свойство.

    t.NumBytesAvailable
    ans = 80
    

    Для любой операции чтения или операции записи, тип данных преобразован в uint8 для передачи данных. После передачи тип данных возвращается к заданному datatype. Начиная с одного double равняется восьми uint8 байты, существует доступных 80 байтов.

    Поскольку клиент соединяется с сервером эха, данные, которые вы пишете в сервер, возвращены в клиент. Читайте 10, удваивается с сервера. Имя объекта всегда является первым аргументом. size аргумент должен быть вторым аргументом и datatype должен быть третий аргумент.

    read(t,10,"double")
    ans = 1×10
    
         1     2     3     4     5     6     7     8     9    10
    
    

    Закройте связь между клиентом TCP/IP и удаленным хостом путем очистки объекта. Выключите echotcpip сервер.

    clear t
    echotcpip("off")

    Входные параметры

    свернуть все

    Клиент TCP/IP в виде a tcpclient объект.

    Пример: read(t) считывает все доступные данные от клиента TCP/IP t.

    Количество значений, чтобы читать в виде положительного целочисленного значения. Если count больше NumBytesAvailable свойство t, функция приостанавливает выполнение MATLAB и ожидает, пока заданный объем данных не читается, или тайм-аут происходит.

    Пример: read(t,5) чтения пять значений uint8 данные.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Размер и формат каждого значения в виде вектора символов или строки. datatype определяет количество байтов, чтобы читать для каждого значения и интерпретации тех байтов как тип данных MATLAB.

    Пример: read(t,10,"double") чтения 10 значений двойных данных.

    Типы данных: char | string

    Расширенные возможности

    Генерация кода C/C++
    Генерация кода C и C++ с помощью MATLAB® Coder™.

    Введенный в R2014b