Time of Update: 2018-12-05
Windows下編譯OpenSSL的方法1、安裝ActivePerl初始化的時候,需要使用perl2、使用VS下的Visual Studio 20xx Command Prompt進入控制台模式3、解壓縮openssl的包,通過cd命令切換到openssl的目錄4、執行:perl configure VC-WIN32 5、執行:ms/do_ms 6、選擇不同的編譯結果1) 執行:nmake -f ms/ntdll.mak 該命令產生動態庫,預設使用的是MD2) 執行:nmake -f
Time of Update: 2018-12-05
如何卸載其他進程中的DLL。要卸載其他進程中的DLL一般都要首先提升本進程的許可權。相關的操作也很簡單,我已經將其封裝為一個函數/*********************************************************************/BOOL BDebugProcess2(HANDLE hProcess, LPCTSTR PrivilegeName){HANDLE hToken; TOKEN_PRIVILEGES tkp; if
Time of Update: 2018-12-05
應用Winpcap得到網路驅動列表應用Winpcap編寫應用程式,首先往往是要擷取本地的網卡列表。接下來我們就看一下如何擷取網卡列表。首先先簡紹一下要用到的winpcap函數,int pcap_findalldevs ( pcap_if_t ** alldevsp, char * errbuf ) 函數功能:這個API 返回一個pcap_if
Time of Update: 2018-12-05
應用winpcap-SDK提供的pcap_findalldevs()函數我們可以得到包含網卡資訊的一張鏈表,網卡的資訊儲存在pcap_if_t結構體中,其中name欄位為網卡的名稱,description欄位為對網卡的一種人們可以理解的描述。Addresses為網卡列表中首元素的指標.flags為一個標誌位,指示此網卡是否可傳回位址。其中addresses一個pcap_addr結構體,正是由於這個結構體,我們可以獲得很多的有用資訊,包括應用的網路通訊協定族,IP地址,子網路遮罩,廣播位址,目的地
Time of Update: 2018-12-05
我們已經知道了如何獲得網卡的資訊,現在開始真正的工作:開啟網卡並捕獲資料流。在這裡將寫一個列印流經網路的每個資料包資訊的程式。開啟網卡的功能是通過pcap_open_live()來實現的它有三個參數snaplen,promisc,to_ms。snaplen用於指定所捕獲包的特定部分,在一些系統上(象xBSD and Win32 等)驅動只給出所捕獲資料包的一部分而不是全部,這樣就減少了拷貝資料的數量從而提高了包捕獲的效率。promisc
Time of Update: 2018-12-05
今天在教室看書實在無聊,趕上這兩天在學習註冊表操作函數,就寫了這堆代碼,寫完在機子上運行了下感覺還不錯,也就把註冊表的一些資訊寫進了單項鏈表中,便於實現尋找操作。代碼如下:/*存放子鍵與索引值的資料結構*/typedef struct RegValueInfo{DWORD sValueCnt;//索引值數量,用於前端節點中TCHAR sValueName[256];//索引值名TCHAR sValueData[256];//索引值資料DWORD sType;//索引值類型struct
Time of Update: 2018-12-05
在使用registerHotKey等函數時經常要得到一個唯一標識,這是就需要GlobalAddAtom這個函數得到一個全域唯一標識,相關函數如下:ATOM GlobalFindAtom( LPCTSTR lpString);作用:在全域原子列表中尋找是否存在指定字串。lpString為要尋找的字串名。函數傳回值:如果在全域原子中存在要尋找的字串,則返回此字串對應的ID值。沒有找到則返回0。*********************************************
Time of Update: 2018-12-05
#include <boost/date_time/posix_time/posix_time.hpp>#include <boost/date_time/gregorian/gregorian.hpp>#include <iostream>#include <stdint.h>int main(){ using namespace boost::posix_time; using namespace
Time of Update: 2018-12-05
Microsoft 發布了 sscli 2.0,所謂的 sscli 就是 Shared Source CLI。基本上是 .NETFramework 2.0 的 Microsoft 實現,當然是實際發布的 .NET Framework 2.0 的一個簡化版本。sscli 2.0 中包含很多有趣的東西,包括:vm - 包含了 CLI 核心實現,包括垃圾收集器、類裝入器、類型系統、錯誤報表系統、應用程式定義域、配件、代理支援、反射、安全性和代碼管理器。csharp - 包含了使用 C++ 編寫的 C#
Time of Update: 2018-12-05
TCP異常斷開是指在突然斷電,直接拔網線等等情況下,如果通訊雙方沒有進行資料發送通訊等處理的時候,無法獲知串連已經斷開的情況. 在通常的情況下,為了使得socket通訊不受作業系統的限制,需要自己在應用程式層實現心跳包機制,來檢查異常斷開的情況,一般的方式就是伺服器在一段時間沒有收到用戶端資料包時,定時發包,然後用戶端回應,如果已經出現異常斷開則伺服器接收會返回錯誤,而用戶端在指定時間內沒有收到資料包,則主動向伺服器發包,得到錯誤就說明斷開.諸如此類的方式就是自己實現的心跳包機制.
Time of Update: 2018-12-05
遇到了點問題,竟然沒辦法刪除掉,到底是哪裡出了問題呢???刪除一個結點的時候,需要定位到要刪除的結點,而在定位到這個結點之前,可能因為有不少和這個結點是同等級的,也就是需要用結點的值來定位,在定位對同等級的結點之前,要定位到要刪除的結點的父結點,也就是只要定位到要刪除的結點的父結點,然後根據結點值,就可以搜尋到要刪除的結點了。在網上找到一個演算法,哇哈哈。(2)刪除結點function removeNode(XMLName:string;proID:integer):integer;var
Time of Update: 2018-12-05
最近在網路上看到一些文章以及回複,同時又搜尋了一些網路上關於阻塞非阻塞區別的描述,發現很多人在描述兩者的發送接收時操作返回以及緩衝區處理的區別時有不同程度的誤解。所以我想寫一篇文章來糾正錯誤,並作為記錄方便查閱,如有轉載,註明作者(jwybobo2007)以及出處即可。 首先socket在預設情況下是阻塞狀態的(未指非同步作業以及其它一些特殊用途下,直接預設為非阻塞),這就使得發送以及接收操作處於阻塞的狀態,即調用不會立即返回,而是進入睡眠等待操作完成。下面把討論點分為發送以及接收。
Time of Update: 2018-12-05
排名 網站 網址 世界排名 網站介紹 1 維庫電子市場 http://www.dzsc.com/ 16161 主要是電子元器件的交易為主 2 21IC電子網 http://www.21ic.com/ 19,498 主要以論壇的火爆出名。 3 中電網 http://www.eccn.com/ 27,500 電子門戶,內容全面,其線上研討會比較出色 4 華強電子網 http://www.hqew.com/ 30,336 華強實體網站,供求資訊全面 5 電子發燒友網 http://www.ele
Time of Update: 2018-12-05
上次轉載了一篇文章http://blog.csdn.net/jwybobo2007/archive/2010/12/30/6107419.aspx,上面提到了TCP視窗大小與SO_RCVBUF選項之間的關係.但其實這篇文章描述的是有問題的. 在以Unix為核心的一些作業系統中(不一定都是),SO_RCVBUF選項確實決定了TCP視窗的大小.你設定為多少視窗就為多少.但在Windows上確並非如此,通過一些抓包工具分析後,你會發現這兩者並不是一一對應關係,MSDN的說明上確實也告知這一事實
Time of Update: 2018-12-05
What does TCP Zero Window mean? Zero Window is something to investigate. TCP Zero Window is when the Window size in a machine remains at zero for a specified amount of time. This means that a client is not able to receive further information at the
Time of Update: 2018-12-05
【QWebview】的必要設定WebView->settings()->setAttribute(QWebSettings::JavascriptEnabled,true);WebView->settings()->setAttribute(QWebSettings::PluginsEnabled,true);//重要用的是QT4.6 免費版難道不支援播放Flash了? TNND 沒調試出來顯示Flash的位置只是出現個小表徵圖【QAxWidget】這種方法可行
Time of Update: 2018-12-05
之前寫過一篇文章,分析了h264使用rtp進行封包的格式介紹:RTP封裝h264。但裡面好像沒有把拆分以及一些需要注意的情況說清楚,因此這裡做補充,也作為自己的備忘(自己記性好像不太好)。關於時間戳記,需要注意的是h264的採樣率為90000HZ,因此時間戳記的單位為1(秒)/90000,因此如果當前視訊框架率為25fps,那時間戳記間隔或者說增量應該為3600,如果幀率為30fps,則增量為3000,以此類推。關於h264拆包,按照FU-A方式說明:1)第一個FU-A包的FU
Time of Update: 2018-12-05
學習如何使用 OpenSSL —— 用於安全通訊的最著名的開放庫 —— 的 API 有些強人所難,因為其文檔並不完全。您可以通過本文中的提示補充這方面的知識,並駕馭該 API。在建立基本的串連之後,就可以查看如何使用 OpenSSL 的 BIO 庫來建立安全連線和非安全連線。與此同時,您還會學到一些關於錯誤偵測的知識。OpenSSL API 的文檔有些含糊不清。因為還沒有多少關於 OpenSSL 使用的教程,所以對初學者來說,在應用程式中使用它可能會有一些困難。那麼怎樣才能使用 OpenSSL
Time of Update: 2018-12-05
看到一篇BLOG,回複的人很多,是談C++的學習方法. 我粗看了兩下,恰巧看到一些文字,大意是說有學院派和實戰派之分,就是一方認為要學習得好才能實戰,另一方自然就是先上馬,先做邊學.想起 幾天前有位準備轉行的朋友說的,要儘快去做項目,學得多些,顯然他是個實戰派,只不過他在軟體行業不太成功,一直在代碼工人層級徘徊,因為我知道他買的書N年了,都沒翻過.也許他的代碼全是上網到處抄抄/問問寫出來的.
Time of Update: 2018-12-05
今天簡單嘗試了一下KDevelop這個IDE,只想試一下"Hello World",在建立完一個輸出hello world的工程後,發現編譯不過: ../libtool: line 1146: X.deps/mytest.Tpo: No such file or directory