2016-02-25 11:04

引用来自“乌龟壳”的评论

感觉ikcp_update这个设计有点奇怪,为什么要用定时器循环调用?可以让系统用epoll监听所有socket,有epoll返回再调用ikcp_update就好了,CPU不会空转。

引用来自“韦易笑”的评论

ikcp_check就是干这个事情的方便你计划调用,配合epoll或者实现一套类epoll机制

引用来自“乌龟壳”的评论

可能需要实际代码案例才能知道ikcp_check怎么用吧,我只是从一个侧面说:不理解为啥要一定要用某种定时器调用ikcp_update
简单,你可以查看bsd lite中比较精简的tcp实现,在没有网络消息和上层收发任务的时候,内部队列等待重发,远端窗口等待被定时探测,ack,una也有定时需要处理的事情,tcp也是一样的,只是系统做了时钟调度用户感觉不到好像只有简单的recv,send一样。check的意思就是告诉你下一次需要被调度的时间(update)是多少,避免你无意义的update。比如你用epoll,就可以把这个返回的时间当成epoll wait的等待时间。如果你自己实现epoll,就可以把这个时间放入内部定时器队列。
2016-02-25 10:08

引用来自“乌龟壳”的评论

感觉ikcp_update这个设计有点奇怪,为什么要用定时器循环调用?可以让系统用epoll监听所有socket,有epoll返回再调用ikcp_update就好了,CPU不会空转。

引用来自“韦易笑”的评论

ikcp_check就是干这个事情的方便你计划调用,配合epoll或者实现一套类epoll机制
可能需要实际代码案例才能知道ikcp_check怎么用吧,我只是从一个侧面说:不理解为啥要一定要用某种定时器调用ikcp_update
2016-02-25 09:31

引用来自“乌龟壳”的评论

感觉ikcp_update这个设计有点奇怪,为什么要用定时器循环调用?可以让系统用epoll监听所有socket,有epoll返回再调用ikcp_update就好了,CPU不会空转。
ikcp_check就是干这个事情的方便你计划调用,配合epoll或者实现一套类epoll机制
2016-02-24 20:58
感觉ikcp_update这个设计有点奇怪,为什么要用定时器循环调用?可以让系统用epoll监听所有socket,有epoll返回再调用ikcp_update就好了,CPU不会空转。
2016-02-24 11:32
这所谓的带宽换时间,其实说的是udp替换tcp的意思吧。如果有一个IP层协议用的是你的算法,实际上带宽也不会增加,不过这样就面临很难铺展开使用的问题,会被各种防火墙等问题阻挡。
2016-02-24 11:02

引用来自“excepiton”的评论

带宽贵啊
如果你不需要高实时的数据传输,那尽可以用tcp省带宽。但你要做实时游戏等,低延迟流媒体等,就用得上了。
2016-02-24 10:09

引用来自“张寒枫”的评论

可以用在物联网通信上,数据包能比TCP更小就完美了
物联网带宽充裕吗?
2016-02-23 23:03
带宽贵啊
2016-02-23 22:54
不错不错:bowtie::bowtie::bowtie:
2016-02-23 21:44
666666
2016-02-23 21:30
数据量换响应 挺奇葩的
2016-02-23 20:38
支持
2016-02-23 19:29
带宽换响应?
2016-02-23 18:41
可以用在物联网通信上,数据包能比TCP更小就完美了
2016-02-23 17:57
什么东西
回复 @
{{emojiItem.symbol}}
返回顶部
顶部