read

Чтение данных, отправленных на сервер TCP/IP

    Описание

    пример

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

    пример

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

    Примеры

    свернуть все

    Создайте сервер TCP/IP, который прослушивает запрос на подключение клиента по указанному порту и IP-адресу. Затем считайте данные, отправленные на сервер от подключенного клиента.

    Создайте сервер TCP/IP, который прослушивает подключения в localhost и порт 4000.

    server = tcpserver("localhost",4000)
    server = 
      TCPServer with properties:
    
            ServerAddress: "127.0.0.1"
               ServerPort: 4000
                Connected: 0
            ClientAddress: ""
               ClientPort: []
        NumBytesAvailable: 0
    
      Show all properties, functions
    
    

    Создайте клиент TCP/IP для подключения к объекту сервера с помощью tcpclient. Необходимо указать тот же IP-адрес и номер порта, которые вы используете для создания server.

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

    Отображение значений Connected, ClientAddress, и ClientPort свойства для server.

    server
    server = 
      TCPServer with properties:
    
            ServerAddress: "127.0.0.1"
               ServerPort: 4000
                Connected: 1
            ClientAddress: "127.0.0.1"
               ClientPort: 59357
        NumBytesAvailable: 0
    
      Show all properties, functions
    
    

    Этот выход показывает, что server успешно принимает запрос от client и что client устанавливает соединение с server.

    Запись данных в клиент TCP/IP. Поскольку клиент подключен к серверу, эти данные доступны на сервере. Считайте данные с помощью server объект.

    write(client,[4,8,15,16,23,42],"uint8")
    read(server,server.NumBytesAvailable)
    ans = 1×6
    
         4     8    15    16    23    42
    
    

    Создайте сервер TCP/IP, который прослушивает запрос на подключение клиента по указанному порту и IP-адресу. Затем считайте данные, отправленные на сервер от подключенного клиента.

    Создайте сервер TCP/IP, который прослушивает подключения в localhost и порт 4000.

    server = tcpserver("localhost",4000)
    server = 
      TCPServer with properties:
    
            ServerAddress: "127.0.0.1"
               ServerPort: 4000
                Connected: 0
            ClientAddress: ""
               ClientPort: []
        NumBytesAvailable: 0
    
      Show all properties, functions
    
    

    Создайте клиент TCP/IP для подключения к объекту сервера с помощью tcpclient. Необходимо указать тот же IP-адрес и номер порта, которые вы используете для создания server.

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

    Отображение значений Connected, ClientAddress, и ClientPort свойства для server.

    server
    server = 
      TCPServer with properties:
    
            ServerAddress: "127.0.0.1"
               ServerPort: 4000
                Connected: 1
            ClientAddress: "127.0.0.1"
               ClientPort: 65440
        NumBytesAvailable: 0
    
      Show all properties, functions
    
    

    Этот выход показывает, что server успешно принимает запрос от client и что client устанавливает соединение с server.

    Запись данных в клиент TCP/IP. Поскольку клиент подключен к серверу, эти данные доступны на сервере. Считайте первые пять значений строковых данных с помощью server объект.

    write(client,"helloworld","string")
    read(server,5,"string")
    ans = 
    "hello"
    

    Если вы читаете еще пять значений, вы получаете оставшиеся строковые данные.

    read(server,5,"string")
    ans = 
    "world"
    

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

    свернуть все

    Сервер TCP/IP, заданный как tcpserver объект.

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

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

    Пример: read(device,2) считывает два значения uint8 данные.

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

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

    Пример: read(t,1,"uint16") считывает одно значение uint16 данные. Каждое значение uint16 составляет два байта.

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

    См. также

    | |

    Введенный в R2021a