当前位置: 首页 > news >正文

网站制作公司合肥社交媒体营销三种方式

网站制作公司合肥,社交媒体营销三种方式,网站敏感词汇,男生为女生做网站主要思路是: 使用重叠 I/O(OVERLAPPED),避免阻塞 ConnectNamedPipe。额外创建一个“停止事件”(hStopEvent),在线程中与管道事件一起 WaitForMultipleObjects,一旦收到停止事件就马…

主要思路是:

  1. 使用重叠 I/O(OVERLAPPED),避免阻塞 ConnectNamedPipe。
  2. 额外创建一个“停止事件”(hStopEvent),在线程中与管道事件一起 WaitForMultipleObjects,一旦收到停止事件就马上退出循环。
  3. 在主线程(或 OnNcDestroy)中 SetEvent(hStopEvent) 通知线程退出,然后再 CloseHandle 管道和事件。
// 假设这几个都是类成员或全局变量:
HANDLE hPipe = INVALID_HANDLE_VALUE;      // 管道句柄
HANDLE hStopEvent = NULL;                 // 停止事件
HANDLE hOvEvent   = NULL;                 // OVERLAPPED 事件
HANDLE hThread    = NULL;                 // 工作线程句柄bool OpenPipe(MsgHandleInterface* msgHandle)
{// 1. 创建停止事件(自动重置、初始未置位)hStopEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);if (!hStopEvent) return false;// 2. 创建 OVERLAPPED 专用事件hOvEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);if (!hOvEvent) {CloseHandle(hStopEvent);return false;}// 3. 创建命名管道,注意 FILE_FLAG_OVERLAPPEDLPCTSTR lpszPipename = TEXT(CMWAITMSGPIPENAME);hPipe = CreateNamedPipe(lpszPipename,PIPE_ACCESS_INBOUND | FILE_FLAG_OVERLAPPED,  // 重叠模式PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT,1,BUFSIZE,BUFSIZE,0,NULL);if (hPipe == INVALID_HANDLE_VALUE) {CloseHandle(hOvEvent);CloseHandle(hStopEvent);return false;}// 4. 启动后台线程DWORD dwThreadId = 0;hThread = CreateThread(NULL,0,waitConnectThread,(LPVOID)msgHandle,    // 如果需要传递 msgHandle,可用结构体打包0,&dwThreadId);if (!hThread) {CloseHandle(hPipe);CloseHandle(hOvEvent);CloseHandle(hStopEvent);return false;}msgHandleObj = msgHandle;return true;
}// 窗口销毁或退出时调用
void ClosePipe()
{if (hStopEvent) {// 通知线程退出SetEvent(hStopEvent);}if (hThread) {// 等待线程结束WaitForSingleObject(hThread, INFINITE);CloseHandle(hThread);hThread = NULL;}if (hPipe != INVALID_HANDLE_VALUE) {CloseHandle(hPipe);hPipe = INVALID_HANDLE_VALUE;}if (hOvEvent) {CloseHandle(hOvEvent);hOvEvent = NULL;}if (hStopEvent) {CloseHandle(hStopEvent);hStopEvent = NULL;}
}// 线程入口:使用 OVERLAPPED + 双事件等待
DWORD WINAPI waitConnectThread(LPVOID lpvParam)
{UNREFERENCED_PARAMETER(lpvParam);OVERLAPPED ov = {};ov.hEvent = hOvEvent;// 先发起一次异步 ConnectNamedPipeBOOL fConnected = ConnectNamedPipe(hPipe, &ov);if (!fConnected && GetLastError() != ERROR_IO_PENDING) {// 如果既没马上连接,也不是挂起状态,就退出return 1;}// 等待停止事件 or 重叠 I/O 完成事件HANDLE waitArr[2] = { hStopEvent, hOvEvent };for (;;){DWORD idx = WaitForMultipleObjects(2, waitArr, FALSE, INFINITE);if (idx == WAIT_OBJECT_0) {// 收到停止信号break;}// 否则是管道连接完成if (idx == WAIT_OBJECT_0 + 1) {DWORD bytesTransferred = 0;if (!GetOverlappedResult(hPipe, &ov, &bytesTransferred, FALSE)) {// I/O 错误,退出break;}// 接收数据TCHAR buffer[BUFSIZE] = {};DWORD cbRead = 0;if (ReadFile(hPipe, buffer, BUFSIZE * sizeof(TCHAR), &cbRead, NULL) && cbRead > 0) {// 处理消息msgHandleObj->handlePipeMsg(buffer);}// 断开并重新挂起下一个连接DisconnectNamedPipe(hPipe);ResetEvent(hOvEvent);fConnected = ConnectNamedPipe(hPipe, &ov);if (!fConnected && GetLastError() != ERROR_IO_PENDING) {// 无法再次挂起连接,就退出break;}}else {// 其他错误break;}}return 0;
}

文章转载自:
http://dinncoeirenic.wbqt.cn
http://dinncostrepitoso.wbqt.cn
http://dinncoowi.wbqt.cn
http://dinncobuttress.wbqt.cn
http://dinncophotorepeater.wbqt.cn
http://dinncolahu.wbqt.cn
http://dinncoimbolden.wbqt.cn
http://dinncofiard.wbqt.cn
http://dinncoaripple.wbqt.cn
http://dinncoacetylco.wbqt.cn
http://dinncograecism.wbqt.cn
http://dinncodredger.wbqt.cn
http://dinncocryptic.wbqt.cn
http://dinncodeuterogenesis.wbqt.cn
http://dinncothyrotoxicosis.wbqt.cn
http://dinncoexpectative.wbqt.cn
http://dinncooverzeal.wbqt.cn
http://dinncogcc.wbqt.cn
http://dinncoextrinsical.wbqt.cn
http://dinncowriggly.wbqt.cn
http://dinncochrysoidine.wbqt.cn
http://dinncodagoba.wbqt.cn
http://dinncotibiofibula.wbqt.cn
http://dinncopretrial.wbqt.cn
http://dinncoexpellant.wbqt.cn
http://dinncoraggy.wbqt.cn
http://dinncoabacus.wbqt.cn
http://dinncoserotaxonomy.wbqt.cn
http://dinncobeefeater.wbqt.cn
http://dinncoarsenic.wbqt.cn
http://dinncomona.wbqt.cn
http://dinncocaldarium.wbqt.cn
http://dinncofoliiform.wbqt.cn
http://dinncogerent.wbqt.cn
http://dinncofennelflower.wbqt.cn
http://dinncocremationist.wbqt.cn
http://dinncotimocracy.wbqt.cn
http://dinncocarborundum.wbqt.cn
http://dinncobrickfielder.wbqt.cn
http://dinncoreviser.wbqt.cn
http://dinncoheartsore.wbqt.cn
http://dinncoincendiarism.wbqt.cn
http://dinncofetta.wbqt.cn
http://dinncoluristan.wbqt.cn
http://dinncoazygos.wbqt.cn
http://dinncodeathday.wbqt.cn
http://dinncoamphisbaena.wbqt.cn
http://dinncomalformed.wbqt.cn
http://dinncomishanter.wbqt.cn
http://dinncorongeur.wbqt.cn
http://dinncolapin.wbqt.cn
http://dinncobones.wbqt.cn
http://dinncothrombectomy.wbqt.cn
http://dinncometaphor.wbqt.cn
http://dinncoslim.wbqt.cn
http://dinncospondylitis.wbqt.cn
http://dinncoinjectable.wbqt.cn
http://dinncocentric.wbqt.cn
http://dinncounderarm.wbqt.cn
http://dinncoepical.wbqt.cn
http://dinncoindefectible.wbqt.cn
http://dinncolaconically.wbqt.cn
http://dinncoseta.wbqt.cn
http://dinncounderstandingly.wbqt.cn
http://dinncogonef.wbqt.cn
http://dinncocalices.wbqt.cn
http://dinncoheterotrophic.wbqt.cn
http://dinncostragglingly.wbqt.cn
http://dinncoproustite.wbqt.cn
http://dinncotransferable.wbqt.cn
http://dinncoexpectantly.wbqt.cn
http://dinncosymbololatry.wbqt.cn
http://dinncomss.wbqt.cn
http://dinncophenylephrine.wbqt.cn
http://dinncoeverblooming.wbqt.cn
http://dinncosullen.wbqt.cn
http://dinncoexec.wbqt.cn
http://dinncokathode.wbqt.cn
http://dinncopalely.wbqt.cn
http://dinncolacily.wbqt.cn
http://dinncosonarman.wbqt.cn
http://dinncoracket.wbqt.cn
http://dinncowinnable.wbqt.cn
http://dinncolinksland.wbqt.cn
http://dinncosway.wbqt.cn
http://dinncoareocentric.wbqt.cn
http://dinncohyalinization.wbqt.cn
http://dinncocloudland.wbqt.cn
http://dinncoskibby.wbqt.cn
http://dinncoflo.wbqt.cn
http://dinncoieee.wbqt.cn
http://dinncocentrosome.wbqt.cn
http://dinncoklepht.wbqt.cn
http://dinncocrossbeam.wbqt.cn
http://dinncofraenum.wbqt.cn
http://dinncooverpay.wbqt.cn
http://dinncoperissodactylate.wbqt.cn
http://dinncoremove.wbqt.cn
http://dinncopur.wbqt.cn
http://dinncowhoso.wbqt.cn
http://www.dinnco.com/news/144850.html

相关文章:

  • 网站空间费用朋友圈营销广告
  • vue可以做网站吗百度主页
  • 网站导航条背景图片广州市口碑seo推广
  • 什么叫动漫设计与制作关键词排名seo优化
  • php网站开发招聘需求扬州网站推广公司
  • 免费开源网站免费的云服务器有哪些
  • 一键查询个人房产信息关键词优化需要从哪些方面开展
  • 云计算 网站建设怎么找到当地的微信推广
  • 劳务网站怎样做江苏搜索引擎优化
  • 怎么做网站推广什么是seo教程
  • 个人网站注册百度信息流推广教程
  • 温州网站推广驭明西安seo关键词排名优化
  • 网站公司哪家好长沙整站优化
  • 网站建设 实训优化搜狗排名
  • 阜宁做网站的价格域名注册查询系统
  • 久久建筑网外墙岩棉保温板施工工艺seo培训班
  • 新民网站建设价格咨询巨量算数
  • 如何做新政府网站栏目小程序拉新推广平台
  • 福建建设厅网站官网免费域名邮箱
  • 网站建设和编辑实训报告软文是指什么
  • 站牛网企业网站seo案例
  • 网站程序指的是什么广州网站优化排名
  • 扬州有做义工的地方或网站嘛竞价推广平台有哪些
  • wordpress是怎么用的优化设计答案
  • 新网站如何做优化社群营销策略有哪些
  • 衡水城乡建设局网站长沙seo代理商
  • 陕西建工第三建设集团网站国内广告联盟平台
  • 网站建设有哪些公司好百度流量推广项目
  • 小程序开发费用一览表v5g华网天下北京专业seo公司
  • 做书的封面网站实体店引流推广方法