請問大家server的寫法 |
答題得分者是:allenchan
|
gavinj123
初階會員 發表:88 回覆:48 積分:27 註冊:2002-10-15 發送簡訊給我 |
|
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
引言: WinExec(PCHAR('aa.BAT'),SW_HIDE); SLEEP(500); 我的server程式,當有client連上後,會用winexec()去執行批次檔(aa.bat), 因為我需要等這批次檔執行完所產生的檔案,所以我是用一個sleep(500), 目前看起來是沒問題, 但是我想,一個client連上等0.5秒,多個client時, 不就很慢, 請問大家的寫法?第一,您的程式可能改採 multi-thread 比較洽當。 第二,固定等待 0.5 sec 不是一個好做法,您可以試試下列程式: bool RunAndWait(char *app_spawn, int nShowCmd) { STARTUPINFO si; PROCESS_INFORMATION pi; GetStartupInfo(&si); si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = nShowCmd; if (!CreateProcess(app_spawn, NULL, NULL, NULL, false, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi)) { return false; } WaitForSingleObject(pi.hProcess, INFINITE); CloseHandle(pi.hProcess); CloseHandle(pi.hThread); return true; } /* 使用方式 */ RunAndWait("aa.BAT", SW_HIDE);發表人 - allenchan 於 2004/12/01 14:37:04 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |