exponenta event banner

читать

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

    Описание

    пример

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

    пример

    data = read(t,count,datatype) считывает количество значений, указанных count в форме, указанной datatype и возвращает данные. 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