从不同的线程发送UDP消息,C语言

时间:2017-06-09 07:37:09

标签: linux c udp multithreading

我正在运行一个有5个线程的系统,所有线程同时向同一个IP和PORT发送UDP消息。

linux如何处理这个问题?接收混合消息有任何风险吗?我正在使用 sendto 函数发送udp消息。

非常感谢

2 个答案:

答案 0 :(得分:2)

  

linux如何处理这个?

它处理得很好。

  

收到混合消息是否有风险?

目前还不清楚“混合信息”是什么意思。与UDP的情况一样,无法保证数据包将以任何特定顺序到达目标端口,并且无法保证它们将全部到达 - 但如果它们到达,则每个数据包中的数据收到的信息与先前发送的数据包中的数据相同。特别是,您不必担心收到数据包,例如它包含来自一个数据包的一半数据和来自另一个数据包的一半数据。

答案 1 :(得分:0)

UDP是一种不可靠地提供单个数据包 的方法,因为它不保证传送顺序,甚至根本不接收数据包。

如果您需要按顺序可靠地发送数据,请使用TCP,这是它的用途。 ;)