В процессе написания класса для соединения 2 экземпляров matlab вместе. экземпляры будут на отдельных компьютерах, но в настоящее время я тестирую на 1 компьютере.
В настоящее время я могу установить соединение между обоими matlabs, и я могу отправлять / получать сообщения между ними.
код:
classdef connectcompstogether<handle
properties
serverIP
clientIP
tcpipServer
tcpipClient
Port = 4000;
bsize = 8;
Message
end
methods
function gh = connectcompstogether(~)
% gh.serverIP = '127.0.0.1';
gh.serverIP = 'localhost';
gh.clientIP = '0.0.0.0';
end
function SetupServer(gh)
gh.tcpipServer = tcpip(gh.clientIP,gh.Port,'NetworkRole','Server');
set(gh.tcpipServer,'OutputBufferSize',gh.bsize);
fopen(gh.tcpipServer);
display('Established Connection')
end
function SetupClient(gh)
gh.tcpipClient = tcpip(gh.serverIP,gh.Port,'NetworkRole','Client');
set(gh.tcpipClient,'InputBufferSize',gh.bsize);
set(gh.tcpipClient,'Timeout',30);
fopen(gh.tcpipClient);
display('Established Connection')
end
function CloseClient(gh)
fclose(gh.tcpipClient);
end
end
methods
function sendmessage(gh,message)
fwrite(gh.tcpipServer,message,'double');
end
function recmessage(gh)
gh.Message = fread(gh.tcpipClient,gh.bsize);
end
end
end
matlab 1
gh = connectcompstogether;
gh.SetupServer();
gh.sendmessage(555);
Matlab 2
gh = connectcompstogether;
gh.SetupClient();
gh.recmessage();
отправленное сообщение является 8-битным двойным 555 .
Однако при просмотре полученного сообщения получается матрица
64
129
88
не понимаю, что происходит в качестве примеров Я следовал, у меня нет этой проблемы.
и добавить контекст. Я пытаюсь соединить 2 MATLAB через TCP-IP, чтобы я мог контролировать один экземпляр с другим. Мой план состоит в том, чтобы второй matlab ожидал кодов команд и выполнял указанные функции, когда 1-й запрос matlab.