首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

高分求解~SetTimer有关问题,有时回调函数没有起来。解决有关问题的话另有高分馈赠!

2012-04-16 
高分求解~~~~~SetTimer问题,有时回调函数没有起来。解决问题的话另有高分馈赠!!!!我有一个线程,是管理Scoke

高分求解~~~~~SetTimer问题,有时回调函数没有起来。解决问题的话另有高分馈赠!!!!
我有一个线程,是管理Scoket通讯超时的。
线程中开启一个Timer如下:
m_iTimer   =   ::SetTimer(NULL,   1,   30*1000,   (TIMERPROC)Timer2Proc);
也就是30秒后启动计时器,进行通讯电文重发或结束。
Timer2Proc为回调函数。
通常情况下,30秒后Timer2Proc能被调用。
但是电文通讯1,2次后,制造一次超时,中间Socket断开,此时30后的Timer2Proc没有被激活,导致该次通讯一直没有结束。
经调查,可以确定该线程没有处于忙碌状态(因为该线程就开一个计时器而已),也没有任何地方把这个Timer   kill掉。
谁能帮忙解决一下啊~~~~~~
解决问题的另有高分馈赠~~~~~

[解决办法]
你的socket是基于消息模式的socket吗?如果是,可能在同步读写的时候,堵塞了,那么你的
回调函数就调用不起来了。
[解决办法]
我觉得你线程 有问题。
你把time赌塞了。
代码能否给我看看 xxyyboy@163.com

热点排行