exponenta event banner

читать

Считывание данных с удаленного узла по 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, указанный как 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