一个关于线程、socket和定时器的问题,please help me!
我在写一个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>.
网站应用实现微信扫码支付功能
微信开放平台网站应用实现微信扫码支付功能
PHP微信开放平台-- tp5实现第三方网页微信扫码登录
最近小编接到一个项目需要使用微信公众平台,实现微信网页扫码登录。 首先到微信开放平台https://open.weixin.qq.com/,在微信开放平台注册开发者帐号,并且提交审核网站应用。然后获得相应的AppID和AppSecret。 流程: 前端编写代码生成一个二维码,然后用一个微信号扫描二维码并且确认登录,确认登录后,网页将会重定向到回调地址,并且戴上code,state参数,我们通过co...
通过微信扫码登录网站流程
通过微信扫码登录网站 微信开放平台文档地址:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Authorized_Interface_Calling_UnionID.html 步骤: 一、在管理中心中创建应用,填写信息并等待审核完成。 二、获取到app中的 AppID 和AppSecret 三、获取微信...


进程/线程/DLL
