linux 超时重传 - Linux/Unix社区 / 程序开发区
将所要发送的tcp包放在发送队列中,如果在15秒内没收到ACK,就重发,想请问大家,这样是不是要对每个TCP包加定时器阿,除了用alarm,还能用什么了?
你搞应用的话不需要关心tcp协议栈是怎么处理的啊
tcp协议栈有重发机制
我是想在应用层上也有个超时重传
滑窗协议,针对滑窗内的数据包(里面有纪录OS TICK)进行检查。
只有一个定时器,好像是200MS(不确定),到时候就去比较当前时间和每个未确认的包的时间戳,只要超过一定阈值,就开始重传。
为每个包加定时器.....这个很要命的.....既然你是一个队列,可以给每个包加时间戳,然后定时检查队首就可以了
tcp我觉的基本没这个必要.......如果包丢了,会重发的。 如果包发不过去,就算应用层重发也还是发不过去呀
那要多久检测这个未收到确认包?是创建一个线程只用来检测的吗?
这个取决于你的需要和程序是如何设计的
一般来说等待的时候是阻塞的,单独用个线程是可以的
{{
相关问答:
在自己的电脑上安装了ubuntu 就是想玩一下3D桌面,于是下载了
compizconfig-settings-manager
emerald
simple-ccsm
fusion
这些东西,安装完之后,我在电脑里点击了emerald ......
linux 下C编程 集成开发环境 用什么比较好
我初步选定 codeblock
呵呵 还有 在linux 写了一个打印中文的代码,而今天在windows 下查看那个代码 , 是乱码 而后想到先用 EditPlus先进行编辑 然后复制 ......
现在需要在一个嵌入式系统中实现时间函数,编译器未提供time库函数,请问大家如何用c语言实现时间函数啊?
年月日时分秒 到 整数秒(从1970年开始) 之间的相关转换啊
类似mktime 和localtime的功能,谢谢
mktime ......
在linux下使用Eclipse+CDT,如果要查看系统提供的一些函数的定义、声明,该如何做呢。
F3好像是可以查看函数声明的,但按了以后没什么反应。是不是需要在Eclipse中设置一下相应的路径才可以。
使用Eclipse建立一 ......