- 主题:求指路:go怎么做条目超时
哈哈。。。
【 在 lioncat7 (lioncat) 的大作中提到: 】
: 比如我有一个server,可能有多个client连上来
: 每个client连上来以后,我要每隔5分钟发送一个东西
: 如果用C来写,每个client连上来,我起一个定时器,创建定时器的时候,可以传入cookie,这样就可以把client的指针传进定时器的回调函数,函数被调用的时候就知道给哪个client发送报文
: ...................
--
FROM 114.245.109.*
来一个请求,就起一个 go routine, 在里面 for / select time.Ticker
【 在 lioncat7 (lioncat) 的大作中提到: 】
: 刚写go,代码量不足1k
: 如果是基本知识,烦请不吝赐教
--
修改:world FROM 114.245.109.*
FROM 114.245.109.*
我一般用 Ticker.Reset() 吧,这个方便。
routine 你把 for break 了它自己就退出了。for 里面的 select 监控 bye 消息, 然后 break
【 在 lioncat7 (lioncat) 的大作中提到: 】
: 再请教两个问题
: *如果client在5分钟内主动发起过一个请求,我的timer要重新开始,我就timer.Reset是么
: *如果client发起了一个bye,我要取消timer,我用timer.Stop,然后那个routine要怎么取消呢,要再加一个cancel的chan么
: ...................
--
FROM 114.245.109.*
对,这是坑之一。
加 label 吧,说不好楼主有没有其他安排。
【 在 CRonaldo31 (我是大笨蛋) 的大作中提到: 】
: break只是跳出select吧,收到退出消息直接return
--
FROM 114.245.109.*