【发布时间】:2013-04-24 19:24:21
【问题描述】:
我在 Matlab 和 C++ 之间的 TCP/IP 通信中遇到问题。我使用MWinsock 在 C++ 中创建了一个服务器,它可以从客户端发送和接收数据。在 Matlab(作为客户端)中,我创建 TCP/IP 对象,连接到服务器,并使用fprintf 向服务器发送文本[例如,我向服务器发送文本“A005”fprintf(t, 'A005')]。但是,在以 C++ 运行的服务器上,有时只会收到空文本“”或仅“05”或“A0”,有时是“A005”。所以,有没有大神能帮忙解决一下这个问题,非常感谢!
感谢您的回答, 代码其实很简单
*在 Matlab 中,使用 TCP/IP 对象:
t = tcpip('IPaddress', 1200); %IPaddress get from server after running 'winServer.exe' file.
fopen(t);
fprintf(t, 'A005')
*在服务器上,我使用的是李洋鱼开发的服务器文件(你可以从here下载.exe文件)。
我试过上面描述的问题,你能给出任何解决方案吗? 谢谢!
【问题讨论】:
-
不看代码就很难分辨。会不会是输出被缓冲了(即你需要刷新)?
-
是的,让我们看看确切的代码(最好是双方)。 I/O 可以处理细节。
-
(同意 Amro)也许和这里的问题一样:stackoverflow.com/questions/6846924/…?请提供更多详细信息。
-
请尝试
fprintf( t, 'A005\n');鼓励同花顺。 -
@XuanThuongTran:澄清一下,您使用的是仪器控制工具箱中的
tcpip对象吗?