我正在尝试在matlab中生成TCPIP服务器,该服务器应该与用C ++编码的TCPIP客户端进行通信。直到现在我才开始工作:
我的C ++客户端应该没问题(这就是为什么我没有给出这个问题太长的代码),我使用Python中的简单命令。
在我的Matlab服务器中,建立了连接,但fread函数似乎没有读取任何内容......但是,数据在C ++客户端部分中发送良好。这是我的Matlab代码:
u=tcpip('localhost', 50000, 'NetworkRole', 'server');
fopen(u);
%[data,count]=fread(u,6*8,'uint8'); %this doesn't work either
data=fread(u);
我的C ++客户端也在“localhost”上,服务器的指定端口为50000。我想这就是连接的原因。我不明白这里发生了什么。我提前感谢你的所有答案。
编辑:我用echotcpip('on',50000)进行测试并且它正常工作(但我不需要回声功能)。EDIT2:fwrite(你,某些数据)完美运作......我无法理解为什么fread无效。
答案 0 :(得分:0)
也许为时已晚:您不仅需要在“ localhost”(仅127.0.0.1)上监听服务器的任何IP地址。您应该写 u = tcpip('0.0.0.0',50000,'NetworkRole','server');