01 2008 檔案
摘要: 處理在程序的運行時刻發生的錯誤,對于任何一個程序設計者來講都是不陌生的。對于錯誤的處理,我們有很多方法,本篇著重介紹的是C++中的錯誤異常處理。
閱讀全文
摘要: 論壇上經常有對P2P原理的討論,但是討論歸討論,很少有實質的東西產生(源代碼)。呵呵,在這里我就用自己實現的一個源代碼來說明UDP穿越NAT的原理。
閱讀全文
摘要: 該文重點講述了Windows處理事件、消息的具體過程和步驟。尤其是在系系處理鼠標鍵盤事件的過程上做了詳解。通過這篇文章,你將對Windows的消息處理機制有一個較全面的了解。
閱讀全文
摘要: FAX/MODEM首先用于傳真業務,近幾年發展極為迅速,取得了極大成功。隨著技術的發展和人們認識的提高,人們拓寬了FAX/MODEM的功能,把它用于廣域網絡通信中,FAX/MODEM能從微機接受串行數據,直接傳給另一端的FAX機或另一臺FAX/MODEM,所以使用微機通過程控電話網和FAX/MODEM互聯起來可以組成一個廣域網絡系統,當兩臺微機撥號聯上后,它們就獨占了一條電話線路,它們之間就像本地通信一樣(光電傳輸速度108米/秒)方便[1]。
閱讀全文
摘要: 首先看一下sizeof在msdn上的定義:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t.
看到return這個字眼,是不是想到了函數?錯了,sizeof不是一個函數,你見過給一個函數傳參數,而不加括號的嗎?sizeof可以,所以sizeof不是函數。網上有人說sizeof是一元操作符,但是我并不這么認為,因為sizeof更像一個特殊的宏,它是在編譯階段求值的。
閱讀全文
摘要: sizeof是C語言的一種單目操作符,如C語言的其他操作符++、--等。它并不是函數。sizeof操作符以字節形式給出了其操作數的存儲大小。操作數可以是一個表達式或括在括號內的類型名。操作數的存儲大小由操作數的類型決定。
閱讀全文
摘要: sizeof()功能:計算數據空間的字節數
閱讀全文
摘要: 分別有如下功能:可打印字符串轉換為字節數據。字節數據轉換為可打印字符串。7bit編碼。7bit解碼。8bit編碼。8bit解碼。UCS2編碼。UCS2解碼。正常順序的字符串轉換為兩兩顛倒的字符串,若長度為奇數,補'F'湊成偶數。兩兩顛倒的字符串轉換為正常順序的字符串。PDU編碼,用于編制、發送短消息。PDU解碼,用于接收、閱讀短消息。 初始化GSM狀態。 發送短消息,僅發送命令,不讀取應答。 讀取短消息,僅發送命令,不讀取應答。讀取GSM MODEM的應答,可能是一部分。從列表中解析出全部短消息。
閱讀全文
摘要: Socket有同步阻塞方式和異步非阻塞方式兩種使用,事實上同步和異步在我們編程的生涯中可能遇到了很多,而Socket也沒什么特別。雖然同步好用,不費勁,但不能滿足一些應用場合,其效率也很低。
也許初涉編程的人不能理解“同步(或阻塞)”和“異步(或非阻塞)”,其實簡單兩句話就能講清楚,同步和異步往往都是針對一個函數來說的,“同步”就是函數直到其要執行的功能全部完成時才返回,而“異步”則是,函數僅僅做一些簡單的工作,然后馬上返回,而它所要實現的功能留給別的線程或者函數去完成。
閱讀全文
摘要: 利用Visual C++在windows環境下設計異步串行通信程序可以使用不同的方法。一種方法可以使用windows系統提供的串行口API函數;另一種方法可以直接使用Microsoft公司提供的ActiveX控件MSCOMM.OCX。利用MSCOMM.OCX控件進行串行口程序設計相對比較簡單,只要對該控件的屬性、事件和方法進行設置和操作,就能完成簡單的串行通信功能。而直接使用windows系統提供的串行口API函數則相對較為靈活。試驗中,可根據自己的情況任意其中一種進行編程。以下針對如何使用windows系統提供的串行口API函數進行編程做簡要介紹
閱讀全文
摘要: Windows是一個多任務操作系統。傳統的Windows 3.x只能依靠應用程序之間的協同來實現協同式多任務,而Windows 95/NT實行的是搶先式多任務。
在Win 32(95/NT)中,每一個進程可以同時執行多個線程,這意味著一個程序可以同時完成多個任務。對于象通信程序這樣既要進行耗時的工作,又要保持對用戶輸入響應的應用來說,使用多線程是最佳選擇。當進程使用多個線程時,需要采取適當的措施來保持線程間的同步。
利用Win 32的重疊I/O操作和多線程特性,程序員可以編寫出高效的通信程序。在這一講的最后將通過一個簡單的串行通信程序,向讀者演示多線程和重疊I/O的編程技術。
閱讀全文
摘要: Overlapped I/O也稱Asynchronous I/O,異步I/O模型。異步I/O和同步I/O不同,同步I/O時,程序被掛起,一直到I/O處理完,程序才能獲得控制。異步I/O,調用一個函數告訴 OS,進行I/O操作,不等I/O結束就立即返回,繼續程序執行,操作系統完成I/O之后,通知消息給你。Overlapped I/O只是一種模型,它可以由內核對象(hand),事件內核對象(hEvent), 異步過程調用(apcs) 和完成端口(I/O completion)實現。
閱讀全文
摘要: OVERLAPPED,顧名思義為重疊,乍一看會很奇怪,重疊?誰跟誰重疊?似乎在WIN32的Programming中沒有這個概念呀?要討論這個問題就要追溯到對設備I/O的訪問中
閱讀全文
摘要: Windows Sockets在頭文件winsock.h中定義了所有的錯誤碼,它們包括以“WSA”打頭的Windows Sockets實現返回的錯誤碼和Berkeley Sockets定義的錯誤碼全集。定義Berkeley Sockets錯誤碼是為了確保原有軟件的可移植性。
閱讀全文