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 и возвращает данные. The 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
    
    

    The 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
    
    

    The 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 bytes, доступно 80 bytes.

    Поскольку клиент подключен к эхо-серверу, данные, которые вы записываете на сервер, возвращаются клиенту. Считайте 10 двойных чисел с сервера. Имя объекта всегда является первым аргументом. The 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-клиент, заданный как 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++ с помощью Coder™ MATLAB ®

    .
    Введенный в R2014b