原创 Windows Hook 易核心編程勾子基本理念

前言 以前我非常沉迷入黑客,每每看着高手們發到網上的攻擊檢測程序心中那個羨慕啊,要是那天我也能寫出這樣的程序該多好啊可是,我也就只有羨慕的份,誰叫自己不懂英語呢,又沒有中文的編程語言直到有一天,我在一家報紙雜誌上看到關於易語言的消息. .

原创 用多路複用I/O模型實現支持多個客戶端的通信服務

引言  多路複用I/O模型是UNIX/LINUX用得的最多的一種I/O模型。這種I/O模型在技術上的實現是包括select()以及FD_XXX的幾個宏及常量。在單個進程中支持的客戶端數量由FD_SETSIZE決定。Solaris 10和

原创 CentOS CACTI,RRDTool安裝

安裝環境:CentOs4.4依次安裝apache,mysql,php,cacti ,rrdtool1.安裝apache Quotation # tar  xzvf  http-2.2.8.tar.gz# cd  http-2.2.8./

原创 Socket中如何設置連接超時

設置connect的超時很簡單,CSDN上也有人提到過使用select,但卻沒有一個令人滿意與完整的答案。偶所講的也正是select函數,此函數集成在winsock1.1中,簡單點講,"作用使那些想避免在套接字調用過程中被鎖定的應用程序

原创 PHP安裝問題:編譯安裝php5.2.0時出錯解決方案

編譯安裝php5.2.0時出錯解決方案 1.錯誤信息...................如下 checking for mcrypt support... no checking for mhash support... no che

原创 Symbian開發教程

Symbian系統已經提供了一套已經定義好的內置的數據類型。爲了保證你的代碼是編譯器無關的,應當使用下面symbian系統提供的數據類型,而不要使用原生數據類型(native types,這裏指標準C中的int ,char等)。 1. 基

原创 IOCP

IOCP全稱I/O Completion Port,中文譯爲I/O完成端口。IOCP是一個異步I/O的API,它可以高效地將I/O事件通知給應用程序。與使用select()或是其它異步方法不同的是,一個套接字[socket]與一個完成端口

原创 Symbian平臺,CEikEdwin文本框研究

自從開始接觸Symbian,就覺得Symbian的UI編程非常困難。難在哪呢?因爲不知道Symbian控件的運行機制,所以在編程過程中常會出現一些莫名其妙的錯誤,讓人摸不着頭腦。       也許有人會說,SDK提供了一些UI的例子,可

原创 std::map

    1. map中的元素其實就是一個pair.2. map的鍵一般不能是指針, 比如int*, char*之類的, 會出錯. 常用的就用string了,int也行.3. map是個無序的容器, 而vector之類是有序的. 所謂有序無

原创 IOCP模型總結(轉)

IOCP模型總結(轉) 2009-07-02 09:58 IOCP(I/O Completion Port,I/O完成端口)是性能最好的一種I/O模型。它是應用程序使用線程池處理異步I/O請求的一種機制。在處理多個併發的異步I/O請

原创 Cacti spine 的安裝

Cacti spine 的安裝 最近裝了臺server用來對網絡設備進行準實時監控 系統組成 Centos5.2 mysql -4.1.22 php-4.6.4 apache2.1.2 cacti 0.8.7d rrdto

原创 VC 使用OnCtlColor函數來改變控件顏色

在MFC類庫提供了CWnd::OnCtlColor函數,在工作框架的子窗口被重畫時將調用該成員函數.因此可以重載WM_CTLCOLOR消息的響應函數.此函數的原型:    afx_msg HBRUSH OnCtlColor(CDC *p

原创 linux下socket的connect超時

代碼的流程是這樣的1 建立一個socket2 設置socket爲非阻塞3 connect4 把socket放到一個fd_set中5 select 這個socket,監視可寫事件6 判斷是否超時或者連接成功   代碼如下----------

原创 sysbench的安裝及使用

sysbench是一個模塊化的、跨平臺、多線程基準測試工具,主要用於評估測試各種不同系統參數下的數據庫負載情況。關於這個項目的詳細介紹請看:http://sysbench.sourceforge.net。它主要包括以下幾種方式的測試: 1

原创 對右鍵彈出式菜單進行鉤選標記

 CPoint pt = point; ClientToScreen(&pt);  if ( m_MenuDevice.m_hMenu != NULL) {  m_pSubMenu = m_MenuDevice.GetSubMenu(5)