gpt4 book ai didi

Matlab 和 C 使用套接字进行通信

转载 作者:行者123 更新时间:2023-11-30 17:42:38 25 4
gpt4 key购买 nike

我在 Matlab 和 C 之间的通信时遇到问题。我使用 client.c 在 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 中尝试了服务器客户端并给出了相同的错误。

在 Matlab 一侧(客户端或服务器),它无法扫描书面文本。其中,以下代码

fprintf(t,'Hi')
text = fscanf(t)

结果: 警告:读取失败:在读取之前发生超时 终结者已到。并打印一个空文本。

请大家帮忙!谢谢。

最佳答案

通过在客户端打开连接和写入 t 之间添加暂停来解决。

所以 Matlab 客户端如下:

t=tcpip('localhost', 4000, 'NetworkRole', 'client');
fopen(t);
pause(1);
fprintf(t,'Hi');

关于Matlab 和 C 使用套接字进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20468411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com