У меня проблема в связи TCP/IP между Matlab и C++. Я создаю сервер на C++, используя MWinsock
, который может отправлять и получать данные от клиента. В Matlab (действует как клиент) я создаю объект TCP/IP, подключаюсь к серверу и использую fprintf
для отправки текста на сервер [например, я отправляю текст «A005» на сервер, fprintf(t, 'A005')
]. Тем не менее, на сервере, запущенном на C++, просто получите пустой текст '' или только '05' или 'A0', иногда это 'A005'. Так, может ли кто-нибудь помочь в решении этой проблемы, большое спасибо!TCP/IP-связь между Matlab и C++
Спасибо за ваши ответы, Коды на самом деле просто
* В Matlab используется TCP/IP объект:
t = tcpip('IPaddress', 1200); %IPaddress get from server after running 'winServer.exe' file.
fopen(t);
fprintf(t, 'A005')
* На сервере, я использую файл-сервер, разработанный от LiyangYu (вы можете скачать EXE-файл с here).
Я пытался и получил проблемы, как описано выше, так что вы могли бы дать какие-либо решения? Спасибо!
сложно сказать, не видя кода. Может ли быть, что вывод буферизирован (т. Е. Вам нужно скрыться)? – Amro
Да, давайте посмотрим точный код (желательно для обеих сторон). Ввод-вывод может быть затруднен с подробностями. –
(согласен с Amro) Возможно, такая же проблема, как здесь: http://stackoverflow.com/questions/6846924/payload-split-over-two-tcp-packets-when-using-boost-asio-when-it-fits- внутри? Пожалуйста, дайте более подробную информацию. – Offirmo