TCPIP服务器使用Matlab连接但不接收

时间:2018-04-28 17:25:31

标签: c++ matlab tcp server

我正在尝试在matlab中生成TCPIP服务器,该服务器应该与用C ++编码的TCPIP客户端进行通信。直到现在我才开始工作:

  • C ++服务器和Matlab客户端(UDP和TCPIP)
  • C ++客户端和Matlab服务器(仅限UDP)

我的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无效。

1 个答案:

答案 0 :(得分:0)

也许为时已晚:您不仅需要在“ localhost”(仅127.0.0.1)上监听服务器的任何IP地址。您应该写 u = tcpip('0.0.0.0',50000,'NetworkRole','server');