一个关于线程、socket和定时器的问题,please help me!

onjun onjun 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

我在写一个thread,socket,timer相关的程序。

描述:

完全 API 编程。

在线程中创建 socket(阻塞模式),进行通信。

我要设定一个定时器 timeout,如果没有通信(空闲)的时间大于timeout,

杀掉当前线程。

关键词: 阻塞,计时,杀掉线程。

我的做法:
static void CALLBACK TimeProc(hwnd,msg,idEvent,time)
{
PostThreadMessageBox((DWORD)idEvent,WM_CLOSE,0,0);
AfxMessageBox("Now kill thread");
}
MYCtrlFun(LVOID lParam)
{
id=GetCurrentThreadId();
::SetTimer(NULL,(UINT)id,2000,TimeProc);

while(TRUE)
{
// do my work
recv(...);
// then
send(...);
...
}
}


发现问题:
程序执行到 TimeProc 的时间 不是 2000(两妙),而是更长。

有时候没有执行到 TimeProc,因为我没有看到"Now kill thread"对话框。

请大家帮忙!

谢谢
...全文

相关推荐

前端实现 微信扫码登录网站 pc端(二维码嵌套页面)

用户在PC端点击“微信扫码登录”按钮。前端请求微信授权二维码接口并展示二维码。用户使用微信扫描二维码并确认登录。微信返回授权码(code)到回调URL。服务器使用授权码请求微信的Access Token接口获取用户信息。通过以上步骤,我们实现了一个简单的微信扫码登录流程。在实际应用中,你还需要处理更多的细节和安全问题,比如防止CSRF攻击、处理Token的过期和刷新等。希望本文能帮助你理解并实现微信扫码登录。如果你有任何问题或建议,欢迎留言讨论!

早起上班

微信:网站应用第三方微信扫码登录实现

官方文档:微信开放平台网站应用文档 项目框架:VUE 1. 流程 大体流程如下: 2. 平台申请 首先要在官方微信开放平台申请创建网站应用:微信开放平台-网站应用开发 审核通过后,就可以在:管理中心-网站应用 下查看创建的网站应用 其中需要的用到的参数如下所示:AppID、AppSecret、授权回调域: 3. 前端代码实现(VUE为例) 首先要引入 wxLogin 的js文件,在 /public/index.html 中,添加引入: <body> <noscript>.

苦呀君

网站应用实现微信扫码支付功能

微信开放平台网站应用实现微信扫码支付功能

veerpower

PHP微信开放平台-- tp5实现第三方网页微信扫码登录

最近小编接到一个项目需要使用微信公众平台,实现微信网页扫码登录。 首先到微信开放平台https://open.weixin.qq.com/,在微信开放平台注册开发者帐号,并且提交审核网站应用。然后获得相应的AppID和AppSecret。 流程: 前端编写代码生成一个二维码,然后用一个微信号扫描二维码并且确认登录,确认登录后,网页将会重定向到回调地址,并且戴上code,state参数,我们通过co...

@(T_T)

通过微信扫码登录网站流程

通过微信扫码登录网站 微信开放平台文档地址:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Authorized_Interface_Calling_UnionID.html 步骤: 一、在管理中心中创建应用,填写信息并等待审核完成。 二、获取到app中的 AppID 和AppSecret 三、获取微信...

luslin1711
评论 3
收藏 已收藏
分享
返回顶部
onjun
进程/线程/DLL 15,466 成员 49,169 内容