Поддержка сокетов сервера является доступным использованием tcpserver
функция. Эта поддержка для одной удаленной связи. Можно использовать эту связь, чтобы связаться между клиентом и MATLAB® или между двумя экземплярами MATLAB.
Например, вы можете собрать данные, такие как форма волны в один экземпляр MATLAB и затем передать его другому экземпляру MATLAB.
Примечание
Использование сокета сервера или на клиентской или на серверной стороне должно быть сделано в соответствии с лицензионным соглашением, когда это относится к вашему конкретному параметру лицензии и типу активации. При наличии вопросов, необходимо консультироваться с администратором для лицензии или юридического департамента.
Это предназначается для использования позади брандмауэра на частной сети.
Следующий пример показывает, как соединить два сеанса работы с MATLAB на том же компьютере, показав пример кода для каждого сеанса. Чтобы использовать два различных компьютера, замените "localhost"
с IP-адресом сервера в коде для Сеанса 2. Используя 0.0.0.0, когда IP-адрес означает, что сервер примет первую машину, которая пытается соединиться. Ограничить связи, которые будут приняты, замена "0.0.0.0"
с адресом клиента в коде для Сеанса 1.
Примите связь от любой машины на порте 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
Этот код работает на втором экземпляре 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")
Считайте форму волны и подтвердите его визуально путем графического вывода его.
data = read(server,server.NumBytesAvailable,"double");
plot(data);