Связь с использованием сокетов TCP/IP-сервера

Сведения о серверных сокетах

Поддержка серверных сокетов доступна с помощью tcpserver функция. Эта поддержка предназначена для одного удаленного подключения. Вы можете использовать это соединение для связи между клиентом и MATLAB® или между двумя образцами MATLAB.

Например, можно собрать данные, такие как сигнал, в один образец MATLAB и затем передать их другому образцу MATLAB.

Примечание

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

Это предназначено для использования за брандмауэром в частной сети.

Связь между двумя образцами MATLAB

В следующем примере показано, как подключить два сеансов работы с MATLAB к одному компьютеру, показав пример кода для каждого сеанса. Чтобы использовать два разных компьютера, замените "localhost" с IP-адресом сервера в коде для сеанса 2. Использование 0.0.0.0 в качестве IP-адреса означает, что сервер примет первую машину, которая пытается подключиться. Чтобы ограничить принимаемые соединения, замените "0.0.0.0" с адресом клиента в коде для сеанса 1.

Сеанс 1: Сервер MATLAB

Примите соединение от любой машины на порте 30000.

server = tcpserver("0.0.0.0",30000)
server = 

  TCPServer with properties:

        ServerAddress: "0.0.0.0"
           ServerPort: 30000
            Connected: 0
        ClientAddress: ""
           ClientPort: []
    NumBytesAvailable: 0

  Show all properties, functions

Сеанс 2: Клиент MATLAB

Этот код выполняется на втором образце MATLAB.

Создайте интерфейс клиента.

client = tcpclient("localhost",30000)
client = 

  tcpclient with properties:

              Address: 'localhost'
                 Port: 30000
    NumBytesAvailable: 0

  Show all properties, functions

Создайте форму волны и визуализируйте ее.

data = sin(1:64);
plot(data);

Запишите форму волны в сеанс сервера.

write(client,data,"double")

Сеанс 1: Сервер MATLAB

Прочтите форму волны и подтвердите ее визуально путем построения графика.

data = read(server,server.NumBytesAvailable,"double");
plot(data);