套接字UDP-程序在recvfrom停止

时间:2017-07-06 15:52:13

标签: c++ matlab sockets recvfrom

我尝试通过UDP从计算机向另一台计算机发送数据(第一台计算机:Ubuntu,带有Eclipse的C ++,第二台计算机Windows 10 Matlab 2014b)。 C ++计算机应该作为服务器。将数据从C ++发送到Matlab工作正常,但我无法以相反的方向发送数据。每当我的C ++程序到达recvfrom()时,它就会在此时空闲而不再做任何事情,即使matlab一遍又一遍地发送数据。我试图通过netcat接收ubuntu上的数据,同时使用Matlab发送包,这也很好。即使我尝试使用select(),但这只会在程序到达select()时等待10秒,然后再次冻结在recvfrom。如果有人能给我一些帮助,我将非常感激。

PhrasesFrame

1 个答案:

答案 0 :(得分:0)

在调试模式下运行程序后,程序突然传递recvfrom,但没有收到发送的数据。即使我在while循环中运行recvfrom并且不断地将数据发送到端口recvfrom也从来没有获得包。如果我尝试在它之前运行listen和accept(我通常知道udp连接不需要),函数都返回-1。但我不明白为什么我的Socket还没有准备好接收数据。也许任何人都有想法解决这个问题?