猿问

求问,假设调用sendto()函数会出现丢包情况吗?

用Linux socket编程,调用sendto函数,不确定是否会有丢包情况
我设置的socket是socket(AF_INET,SOCK_DGRAM,0);

holdtom
浏览 369回答 1
1回答

一只斗牛犬

函数本身不会,但是当你数据处理量大的时候,CPU可能来不及相应,导致丢包。一般编程的时候,会用多线程解决上述问题。一个线程专门抓包(这个必须是实时的),另外一个负责后续处理(在你这里就是重组分片,可以不是实时地)。这样程序就不会因为等待计算结果,而来不及接收数据包了。线程之间可以共享全局变量。
随时随地看视频慕课网APP
我要回答