Я пытаюсь создать сервер TCPIP в Matlab, который должен обмениваться данными с клиентом TCPIP, написанным на C ++. До сих пор у меня это работает:
- Сервер C ++ и клиент Matlab (UDP и TCPIP)
- клиент C ++ и сервер Matlab (только UDP)
Мой клиент C ++ должен быть в порядке (поэтому я не даю код, который слишком длинен для этого вопроса), я заставил его работать с простыми командами в Python.
На моем сервере Matlab соединение установлено, но функция fread, похоже, ничего не читает ... Однако данные хорошо отправляются в клиентской части C ++. Вот мой код Matlab:
u=tcpip('localhost', 50000, 'NetworkRole', 'server');
fopen(u);
%[data,count]=fread(u,6*8,'uint8'); %this doesn't work either
data=fread(u);
Мой клиент C ++ также находится на 'localhost', и указанный порт для сервера составляет 50000. Я полагаю, именно поэтому связь установлена. Я не понимаю, что здесь происходит. Заранее благодарю вас за все ваши ответы.
РЕДАКТИРОВАТЬ: я тестировал с echotcpip ('on', 50000), и он работает (но, кстати, мне не нужна функция эха).
EDIT2: fwrite (u, somedata) работает отлично ... Я не могу понять, почему не работает fread.