exponenta event banner

Связь с помощью сокетов сервера 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);