我在Matlab和C++之间的TCP/IP通信中遇到问题。我用C++创建了一个使用MWinsock
的服务器,可以从客户端发送和接收数据。在Matlab中(作为客户端),我创建TCP/IP对象,连接到服务器,并使用fprintf
向服务器发送文本[例如,我发送文本“A005”到服务器,fprintf(t, 'A005')
]。但是,在使用C++运行的服务器上,只需要接收一些空文本''或者'05'或'A0',有时候是'A005'。所以,任何人都可以在这个问题上给予一些帮助,非常感谢!Matlab和C++之间的TCP/IP通信
谢谢您的回答, 的代码其实就是简单的
*在Matlab中,使用TCP/IP对象:
t = tcpip('IPaddress', 1200); %IPaddress get from server after running 'winServer.exe' file.
fopen(t);
fprintf(t, 'A005')
*在服务器上,我使用的开发服务器上的文件由LiyangYu(您可以从here下载.exe文件)。
我尝试过,并得到了上述问题,所以你可以给任何解决方案? 谢谢!
难以辨别的代码。难道是输出缓冲(即你需要刷新)? – Amro 2013-04-21 13:33:06
是的,让我们看看确切的代码(最好是双方)。 I/O可能会很烦琐的细节。 – 2013-04-22 02:08:53
(同意Amro)也许同样的问题在这里:http://stackoverflow.com/questions/6846924/payload-split-over-two-tcp-packets-when-using-boost-asio-when-it-fits-在内?请提供更多细节。 – Offirmo 2013-04-23 10:59:35