【发布时间】:2014-02-18 17:22:28
【问题描述】:
我在 Matlab 和 C 之间的通信中遇到问题。我在 C 中使用 client.c 创建了一个客户端,并在 Matlab 中使用 TCP/IP 创建了一个服务器:
t=tcpip('0.0.0.0', 30000, 'NetworkRole', 'server');
fopen(t);
data=fread(t, t.BytesAvailable);
但服务器收到一个空缓冲区并在 fread 处出错:
Error using icinterface/fread (line 163)
SIZE must be greater than 0.
------------------------------------------ -------------------------------------------------------
已编辑:C 中的服务器客户端运行良好。问题出在 Matlab TCP/IP 对象中,我在 Matlab 中尝试了 server-client 并给出了相同的错误。
在 Matlab 一侧(客户端或服务器),它无法扫描书面文本。其中,以下代码
fprintf(t,'Hi')
text = fscanf(t)
结果: 警告:读取失败:在读取之前发生超时 到达终结者。 并打印一个空文本。
请帮忙! 谢谢。
【问题讨论】: