青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

學習、成長之路

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  16 Posts :: 0 Stories :: 27 Comments :: 0 Trackbacks

常用鏈接

留言簿

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

#

 1 BOOL CleanUrlCache(LPSTR lpUrl)
 2 {
 3     LPINTERNET_CACHE_ENTRY_INFO lpICEI = NULL;
 4     DWORD dwSize = 0;
 5     HANDLE hFind = FindFirstUrlCacheEntry(NULL, NULL, &dwSize);
 6     if (hFind == NULL && GetLastError() != ERROR_INSUFFICIENT_BUFFER)
 7         return FALSE;
 8     
 9     lpICEI = (LPINTERNET_CACHE_ENTRY_INFO)new char[dwSize];
10     hFind = FindFirstUrlCacheEntry(NULL, lpICEI, &dwSize);
11     if (hFind == NULL)
12     {
13         delete lpICEI;
14         return FALSE;
15     }
16     
17     do 
18     {
19         if (StrStrI(lpICEI->lpszSourceUrlName, lpUrl))
20         {
21             int bRet = DeleteUrlCacheEntry(lpICEI->lpszSourceUrlName);
22         }
23         delete lpICEI;
24         lpICEI = NULL;
25         dwSize = 0;
26         
27         if (!FindNextUrlCacheEntry(hFind, NULL, &dwSize) && GetLastError() != ERROR_INSUFFICIENT_BUFFER)
28             break;
29         lpICEI = (LPINTERNET_CACHE_ENTRY_INFO)new char[dwSize];
30     } while (FindNextUrlCacheEntry(hFind, lpICEI, &dwSize));
31     
32     if (lpICEI != NULL)
33         delete lpICEI;
34     return TRUE;
35 }
posted @ 2009-08-17 11:00 sToa 閱讀(678) | 評論 (0)編輯 收藏

最近做一個項目,需要記錄系統里每個進程訪問的IP及Port,然后提交到服務端進行分析,我的思路是用一個緩存文件記錄所有進程訪問網絡的信息,然后在主程序中提取記錄再提交。
這里面涉及到多進程訪問同一個緩存文件的同步問題,于是封裝了下面這個類,自我感覺良好,拿出來和大家分享 :)

* 使用類似于環形鏈表的機制來保證運行效率


測試程序如下:
 1 #include "RecodeLog.cpp"
 2 #include <stdio.h>
 3 #pragma pack(1)
 4 // 測試用結構,可自定義,結構中不應該包涵指針類型
 5 typedef struct _tagTestInfo
 6 {
 7     DWORD nTest;
 8     char szTest[32];
 9 }TESTINFO, *PTESTINFO;
10 #pragma pack()
11 
12 ULONG WINAPI TestThread(PVOID pParam)
13 {
14     TESTINFO ti; 
15     CRecodeLog<TESTINFO> *prl = new CRecodeLog<TESTINFO>("TestRL""c:\\trl.dat"1000);
16     for (int i = 0; i < 100; i++)
17     {
18         ti.nTest = i;
19         itoa(i, ti.szTest, 10);
20         // 可在任意進程或線程中調用該方法,不用考慮同步問題
21         prl->AddLog(&ti);    // 寫入到緩沖文件中
22     }
23     delete prl;
24     return 0;
25 }
26 
27 int main(int argc, char* argv[])
28 {
29     // 開兩個線程,每個線程增加100條記錄
30     HANDLE hThread, hThread2;
31     hThread = CreateThread(NULL, NULL, TestThread, NULL, NULL, NULL);
32     hThread2 = CreateThread(NULL, NULL, TestThread, NULL, NULL, NULL);
33     WaitForSingleObject(hThread, INFINITE);
34     WaitForSingleObject(hThread2, INFINITE);
35     CloseHandle(hThread);
36     CloseHandle(hThread2);
37 
38     
39     CRecodeLog<TESTINFO> *prl = new CRecodeLog<TESTINFO>("TestRL""c:\\trl.dat"1000);
40     TESTINFO getTi; 
41     int ncount = 0;
42     while (prl->GetTop(&getTi))    // 取最頂部的緩存記錄
43     {
44         printf("%d--%s\n", getTi.nTest, getTi.szTest);
45         prl->DelTop();    //    刪除最頂端的緩存記錄
46         ncount++;
47     }
48     printf("%d\n", ncount);
49     delete prl;
50 
51     return 0;
52 }

從運行結果可以看到主線程讀取到的記錄是亂序的,但沒有丟失的記錄。。

下載示例代碼/Files/sToa/TestCache.rar
posted @ 2009-08-16 13:41 sToa 閱讀(1783) | 評論 (1)編輯 收藏

 

本代碼服務端引用了http://www.codeproject.com/KB/IP/IOCP_how_to_cook.aspx中的代碼,并作了少量修改,在這里對原作者表示感謝。。

功能描述:
* 封裝了心跳機制
* 封裝了一層應用層協議,支持壓縮傳輸
* Client端封裝了掉線重連機制

示例代碼演示了文件傳輸并輸出傳輸速度
希望朋友們能不吝指教,幫助我進步 :)

點擊下載源碼

服務端: 

class CMyTcpServer : public CFTcpServer  
{
public:
    CMyTcpServer();
    
virtual ~CMyTcpServer();
    
    
virtual BOOL OnReadF(SCSocket *pSocket, PBYTE pData, DWORD dwLen)
    {
        
static DWORD btCount = 0;
        
static DWORD dwTime = GetTickCount();
        
static DWORD lastTime = dwTime;
        btCount 
+= dwLen;
        HANDLE    hFile 
= CreateFile("c:\\abc.dat", GENERIC_WRITE, FILE_SHARE_WRITE,
            NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
        SetFilePointer(hFile, 
00, FILE_END);
        DWORD dwBytesWrite 
= 0;
        WriteFile(hFile, pData, dwLen, 
&dwBytesWrite, NULL);
        CloseHandle(hFile);        
        
        DWORD dwTTT 
= GetTickCount();
        
if (dwTTT - lastTime > 1000)
        {
            lastTime 
= dwTTT;
            printf(
"%dkb/s %u\n", (int)(((double)btCount) * 1000 / (dwTTT - dwTime) / 1024), btCount);
        }
        
        
return TRUE;
    }
    
virtual int OnConnected(SCSocket *pSocket){return TRUE};
};


int main(int argc, char* argv[])
{
    CMyTcpServer::InitSocketLib();
    CMyTcpServer ts;
    ts.Start(
990850008150000);
    
while!_kbhit() ) ::Sleep(100);
    ts.Stop();
    
return 0;
}

  客戶端: 

class CMyTcpClient : public CFTcpClient  
{
public:
    CMyTcpClient();
    
virtual ~CMyTcpClient();
    
    
virtual VOID OnConnected()
    {
        
char buff[BUFF_SIZE_C - 100];
        HANDLE    hFile;
        
        hFile 
= CreateFile("c:\\abc.dat", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
        DWORD nNumberOfBytesRead 
= 0;
        
int pos = 0;
        
while (ReadFile(hFile, buff, BUFF_SIZE_C - 100&nNumberOfBytesRead, NULL))
        {
            
if (BUFF_SIZE_C - 100 == nNumberOfBytesRead)
                Send(buff, nNumberOfBytesRead);
            
else
                
break;
        }
        CloseHandle(hFile);
        Send(buff, nNumberOfBytesRead, TRUE);
    };
    
virtual int OnReadF(LPSTR pData, int nSize)
    {
        
return TRUE;
    }
};


int main(int argc, char* argv[])
{
    CMyTcpClient::InitSocketLib();
    CMyTcpClient 
*pcl = new CMyTcpClient;
    pcl
->Start("192.168.1.138"9908);
    
while!_kbhit() ) ::Sleep(100);
    
return 0;
}

 


 


posted @ 2009-08-13 11:21 sToa 閱讀(3963) | 評論 (2)編輯 收藏

     摘要: 原鏈接:http://bbs.pediy.com/showthread.php?t=63212&highlight=Hook+Api+lib稍微改了一下 // OpCode.h#if !defined(AFX_OPCODE_H__B8F7B840_D73F_461E_B08A_0202DD397B15__INCLUDED_)#define AFX_OPCOD...  閱讀全文
posted @ 2009-07-31 12:06 sToa 閱讀(1741) | 評論 (0)編輯 收藏

這個程序是2004年初學編程時的作品,當時是憑著一種現在看來都有些欽佩自己的激情下作出的,感謝俄羅斯方塊帶我入門.
這個程序雖然簡陋,代碼也混亂,Ai智能也不高,但也算完整,希望對俄羅斯方塊程序有興趣的朋友有所幫助 :)

/Files/sToa/20040607tetris.rar
/Files/sToa/sztetris20040926_SRC.rar

posted @ 2009-07-25 16:05 sToa 閱讀(3240) | 評論 (6)編輯 收藏

看了幾位大嚇的回復,深深地感覺到了這篇附筆中可能存在錯誤,于是把最初遇到此問題時的環境再模擬了一下,現在可以確認這篇附筆中的確存在問題,現在就修正一下,并對各位表示歉意.
6月初的一個項目中需要寫一個高性能網絡服務端程序,在網上找到了一份很好的代碼(
請參見),在使用過程中發現在多個cpp文件中引入這份代碼的h文件時,會出現很多重復定義錯誤,當時很頭疼,沒能很好的解決問題.
現總結一條:在使用類模板技術時,可在.h中實現,也可在.h和.cpp中分開實現,若用.h實現,不要在文件中加入非類模板代碼,可避免重寫定義錯誤..
      2009年7月25日23時58分58秒
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 原文如下:Posted on 2009-07-25 15:10 sToa
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

1.聲明部分
// Tpl.h
#pragma once

template<class T>
class CTpl  
{
public:
    CTpl();
    virtual ~CTpl();

    void Test(T t);

};

2.實現部分
// Tpl.cpp
#include "Tpl.h"

template<class T>
CTpl<T>::CTpl()
{

}

template<class T>
CTpl<T>::~CTpl()
{

}

template<class T>
void CTpl<T>::Test(T t)
{

}
3.習慣錯誤用法
// main.cpp
#include "Tpl.h"

int main()
{
    CTpl<char> ts;
    ts.Test(3);
    return 0;
}

build時出現link錯誤
main.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall CTpl<char>::~CTpl<char>(void)" (??1?$CTpl@D@@UAE@XZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall CTpl<char>::Test(char)" (?Test@?$CTpl@D@@QAEXD@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall CTpl<char>::CTpl<char>(void)" (??0?$CTpl@D@@QAE@XZ)
這組錯誤信息和project中不加入Tpl.cpp的錯誤信息一樣,即沒有CTpl<char>的實現代碼
我們把Tpl.cpp包涵到main.cpp中,問題解決
4.正確用法

// main.cpp
#include "tpl.cpp"
int main()
{
    CTpl<char> ts;
    ts.Test(3);
    return 0;
}

5.總結
1.在使用以.h,.cpp分離實現模板類時,不能像使用普通類一樣只簡單的包涵.h頭文件,應該在使用模板類的cpp文件中引入模板類相應的cpp文件
2.將模板類的聲明與實現都放在.h中(在多個cpp中使用不同模板參數時可能會引起重復定義的編譯錯誤)




posted @ 2009-07-25 15:10 sToa 閱讀(9224) | 評論 (7)編輯 收藏

僅列出標題
共2頁: 1 2 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            99国产精品久久| 欧美日韩国语| 欧美成年网站| 亚洲精品欧美极品| 欧美日韩国产精品| 亚洲视频免费| 久久国产精品久久国产精品| 国产亚洲综合在线| 久久天天躁狠狠躁夜夜爽蜜月 | 免费观看在线综合| 亚洲乱码日产精品bd| 欧美视频在线观看视频极品| 亚洲欧美综合一区| 欧美高清在线观看| 亚洲永久在线观看| 国内精品久久久久影院 日本资源| 久久午夜av| 亚洲精品在线免费观看视频| 亚洲欧美高清| 在线精品一区| 欧美深夜福利| 久久中文精品| 亚洲网站啪啪| 欧美黑人在线观看| 午夜精品国产| 最新国产の精品合集bt伙计| 国产精品黄视频| 久久女同精品一区二区| 99精品国产热久久91蜜凸| 久久亚洲欧美国产精品乐播| 99精品欧美一区二区三区综合在线| 国产精品免费网站| 久久久久久久综合| 亚洲性感美女99在线| 欧美高清视频在线观看| 午夜免费久久久久| 夜夜爽夜夜爽精品视频| 国内精品久久久久久| 欧美吻胸吃奶大尺度电影| 久久午夜精品| 性欧美videos另类喷潮| 日韩午夜在线视频| 欧美激情国产日韩| 久久久久久9| 亚洲女爱视频在线| 99综合视频| 亚洲国产成人高清精品| 国产日韩在线亚洲字幕中文| 欧美视频在线观看| 欧美激情一区三区| 久久天堂成人| 久久激情五月激情| 欧美亚洲免费| 亚洲一区在线直播| 一本色道久久88综合亚洲精品ⅰ | 亚洲一区高清| 99国产一区| 亚洲精品在线免费观看视频| 欧美激情第三页| 欧美成人有码| 欧美成人性网| 牛牛影视久久网| 麻豆精品视频在线观看视频| 久久精品国产v日韩v亚洲 | 亚洲欧美国产另类| 亚洲午夜三级在线| 日韩亚洲欧美高清| 亚洲毛片在线看| 99爱精品视频| 日韩视频在线免费| 日韩一级视频免费观看在线| 亚洲区免费影片| 亚洲人久久久| 日韩一级精品| 一个色综合导航| 正在播放日韩| 一区二区三区欧美成人| 亚洲视频一区在线观看| 亚洲午夜久久久久久尤物| 亚洲午夜精品久久久久久浪潮| 一区二区三区国产精品| 在线综合视频| 香蕉久久精品日日躁夜夜躁| 欧美一区二区成人6969| 久久九九热免费视频| 美国成人直播| 亚洲国产第一页| 91久久精品一区| 一区二区三区视频在线| 午夜免费电影一区在线观看| 久久不射网站| 欧美成人一区二免费视频软件| 欧美国产日本| 国产精品久久| 极品日韩久久| 日韩亚洲欧美综合| 性色av一区二区三区| 噜噜噜躁狠狠躁狠狠精品视频| 欧美大片国产精品| 99这里只有精品| 久久av二区| 欧美韩国在线| 国产精品日韩专区| 亚洲第一天堂av| 一本到高清视频免费精品| 午夜精品一区二区三区四区| 久久久久国产精品午夜一区| 亚洲电影在线观看| 亚洲特级毛片| 久热精品在线视频| 国产精品国色综合久久| 激情综合亚洲| 亚洲一区在线播放| 免费在线国产精品| 在线一区二区三区四区五区| 久久激情五月激情| 欧美体内she精视频在线观看| 国产亚洲欧美激情| 一区二区精品| 久久精品日韩欧美| 久久久久久久国产| 亚洲精品一区二区三区av| 午夜精品久久久久| 欧美区亚洲区| 伊人精品成人久久综合软件| 亚洲一区二区三区中文字幕| 欧美不卡视频一区| 亚洲欧美激情精品一区二区| 欧美福利专区| 狠狠久久亚洲欧美| 亚洲欧美日本视频在线观看| 亚洲第一页中文字幕| 欧美一区在线看| 国产精品xvideos88| 亚洲欧洲日本国产| 久久久最新网址| 亚洲一区二区三区成人在线视频精品 | 久久青青草原一区二区| 欧美午夜精品理论片a级大开眼界| 亚洲大胆在线| 欧美在线观看网址综合| 日韩写真视频在线观看| 久久综合久久综合久久| 国产一区在线免费观看| 午夜精品久久久久久久99黑人| 91久久线看在观草草青青| 久久夜色撩人精品| 国内精品嫩模av私拍在线观看| 亚洲欧美中文字幕| 一个色综合av| 欧美日韩精品欧美日韩精品一| 亚洲欧洲视频| 欧美国产日韩在线| 毛片基地黄久久久久久天堂| 激情综合在线| 久久亚洲精品一区二区| 久久爱另类一区二区小说| 国产午夜精品一区理论片飘花 | 亚洲综合三区| 夜夜嗨av色一区二区不卡| 欧美日本不卡高清| av不卡在线看| 亚洲每日在线| 欧美性片在线观看| 午夜精品视频在线| 亚洲欧美日韩综合一区| 国产一区二区三区四区三区四| 久久av资源网| 久久精品国产综合精品| 国内视频精品| 欧美大片免费观看| 欧美激情小视频| 亚洲视频图片小说| 亚洲性视频h| 国产三级精品三级| 狂野欧美激情性xxxx| 久久综合久久综合久久综合| 亚洲精品乱码久久久久久| 亚洲精选视频在线| 国产精品乱码妇女bbbb| 久久不射电影网| 久久精品欧美日韩精品| 亚洲国语精品自产拍在线观看| 亚洲黄色在线观看| 国产精品va在线| 久久久精品国产免费观看同学| 久久久久久久97| 99在线精品视频| 亚洲综合色视频| ●精品国产综合乱码久久久久| 亚洲国产精品视频一区| 欧美视频日韩视频在线观看| 欧美在线不卡视频| 浪潮色综合久久天堂| 亚洲小视频在线| 久久av资源网| aaa亚洲精品一二三区| 亚洲免费视频网站| 亚洲韩国青草视频| 亚洲性线免费观看视频成熟|