当前位置:  技术问答>linux和unix

关于recvfrom函数的一些问题

    来源: 互联网  发布时间:2017-03-20

    本文导语:  我想问一下recvfrom它接收数据包是从系统中的缓冲区接收数据的么?还有就是在两个数据包发送的间隔非常小的时候会有丢包的现象么,,,,我今天在写一段有关recvfrom的程序时发现用wireshark能够抓到两个间隔时间...

我想问一下recvfrom它接收数据包是从系统中的缓冲区接收数据的么?还有就是在两个数据包发送的间隔非常小的时候会有丢包的现象么,,,,我今天在写一段有关recvfrom的程序时发现用wireshark能够抓到两个间隔时间很小的数据包,但是我的recvfrom函数去只能接收到后面的一个,,不知道这是什么个情况

|
udp接收可以用recvfrom或者recvmsg(一般情况)
recvfrom可用于接收tcp(addr设置为NULL)和udp.
recvfrom只是从系统的socket缓冲中取数据(并没有实际操作网卡接收数据)。recvfrom取数据和“系统实际操作网卡接收数据、数据链路层处理、网络层处理、传输层处理、放到系统缓存中(空间足够否?)”,这两个过程是异步的。
了解每? recvfrom函数和包间隔无关。

你的这个问题,我不清楚具体情况。包间隔短只收到后一个的例子好像不充分,,你看看是否每此包间隔时间段的都只能收到后一个. 我想是不可能的。。  wireshark抓到的包都已经在系统的数据链层处理了,除非接收缓存已经满了,否则是不可能丢失的。被覆盖的说法更不可能。

|
不会出现覆盖掉的,,,
只要发送的UDP报文没在网络上丢失,且目标计算机对于此端口的UDP socket缓冲空间足够。则此UDP报文就安全到达了;否则,报文丢失。安全到达了的报文,就可以用recvfrom随时的从系统缓冲中一个个取出来了。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • udp socket recvfrom偶尔会返回-1,perror打印出的提示是"recvfrom: Resource temporarily unavailable"
  • udp socket通讯,recvfrom()一直返回-1,perror提示"recvfrom: Bad address"
  • recvfrom阻塞时间长了,会不会导致服务端程序不灵活?
  • 怎么解除recvfrom阻塞的阻塞状态
  • [求助]如何让阻塞的信号量、recvfrom退出?
  • accept,recvfrom接收到奇怪的ip
  • alarm中关闭了socketfd,但是recvfrom无法知道
  • recvfrom() 接收线程阻塞
  • [疑惑]UDP中的recvfrom奇怪现象,怎么保持上次sendto的内容???哪位帮解释一下
  • recvfrom是不是线程安全的?
  • 创建了2个套接字Raw socket和socket,都调用recvfrom(),一个专门捕获数据包,一个在9001端口监听UDP请求,怎么不行?
  • UX:ping: ERROR: recvfrom: No route to host
  • recvfrom(): Resource temporarily unavailable
  • 关于网络通信中recvfrom和sendto的用法
  • Linux下的recvfrom为什么一直阻塞
  • Linux网络抓包的程序 [使用recvfrom之后无限阻塞]
  • .net/c#/asp.net iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3