Поддержка Сокетов Сервера доступна, с помощью NetworkRole
свойство в интерфейсе TCP/IP. Эта поддержка для одной удаленной связи. Можно использовать эту связь, чтобы связаться между клиентом и MATLAB®, или между двумя экземплярами MATLAB.
Например, вы можете собрать данные, такие как форма волны в один экземпляр MATLAB, и затем хотеть передать его другому экземпляру MATLAB.
Примечание
Использование сокета сервера или на клиентской или на серверной стороне должно быть сделано в соответствии с лицензионным соглашением, когда это относится к вашему конкретному параметру лицензии и типу активации. При наличии вопросов, необходимо консультироваться с администратором для лицензии или юридического департамента.
Это предназначается для использования позади брандмауэра на частной сети.
Обратите внимание на то, что, в то время как сокет сервера ожидает связи после вызова fopen
, MATLAB, обрабатывающий поток, блокируется. Остановить fopen
или прекратить прислушаться к связям и восстанавливать использование MATLAB, Ctrl+C типа в командной строке MATLAB.
Чтобы использовать эту функцию, необходимо установить NetworkRole
свойство в tcpip
интерфейс. Это использует два значения, client
и server
, установить связь как клиент или сервер. Функция сокетов сервера поддерживает передачи ASCII и двоичный файл.
Следующий пример показывает, как соединить два сеанса работы с MATLAB на том же компьютере, показав пример кода для каждого сеанса. Чтобы использовать два различных компьютера, замените 'localhost'
с IP-адресом сервера в коде для Сеанса 2. Используя '0.0.0.0', когда IP-адрес означает, что сервер примет первую машину, которая пытается соединиться. Ограничить связи, которые будут приняты, замена '0.0.0.0'
с адресом клиента в коде для Сеанса 1.
Сеанс 1: сервер MATLAB
Примите связь от любой машины на порте 30000.
t = tcpip('0.0.0.0', 30000, 'NetworkRole', 'server');
Откройте связь. Это не возвратится, пока связь не получена.
fopen(t);
Считайте форму волны и подтвердите его визуально путем графического вывода его.
data = fread(t, t.BytesAvailable); plot(data);
Сеанс 2: Клиент MATLAB
Этот код работает на второй копии MATLAB.
Создайте форму волны и визуализируйте ее.
data = sin(1:64); plot(data);
Создайте клиентский интерфейс и откройте его.
t = tcpip('localhost', 30000, 'NetworkRole', 'client'); fopen(t)
Запишите форму волны в сеанс сервера.
fwrite(t, data)