sendto返回值成功,却发不出去包,而且每次都是前两个包。
最近用netlink从内核态发送信息到用户空间,在用户空间通过UDP把从内核收到的数据发送到另一台电脑上,但是经常会出现丢包。。而且每次丢的包都是从内核接收到的前两个包(sendto的返回值是成功的,这个不是代表已经把数据拷贝到内核了吗)。我利用wireshark抓包,发现根本就没有发送出去。这是为什么? 查看下eth口的统计,看是否有增加 查看下eth口的统计,看是否有增加 看看recvmsg返回值是不是0 回复 3# qxhgd这个eth的统计是什么意思?
回复 4# jhl19880722
这个都是查看了的,sendto返回值都是对的。。这个会不会和ARP有关?我看了一下,丢第一个包的时候,都是要进行ARP的,没有进行ARP的时候就不会丢。。而且我把报文发到本机(127.0.0.1)时就不会出现丢包了。但是又感觉不对。我不知道这个问题到底出在哪里了。
页:
[1]