【问题标题】:TCPIP server using Matlab connecting but not receiving使用 Matlab 连接但不接收的 TCPIP 服务器
【发布时间】:2018-10-09 07:01:36
【问题描述】:

我正在尝试在 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) 进行了测试,它工作正常(但我不需要 echo 功能)。

EDIT2 : fwrite(u,somedata) 完美运行...我不明白为什么 fread 不工作。

【问题讨论】:

    标签: c++ matlab tcp server


    【解决方案1】:

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

    【讨论】:

    • 一点也不晚。但是,它似乎也不起作用。不过谢谢你的帮助!
    猜你喜欢
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多