C# 實作 P2P 網路通訊程式 (4) — 客戶端打洞處理與伺服器訊息分派迴圈
客戶端處理打洞請求 收到 P2PPurchHolePacket,設定 P2P 位址、嘗試 UPnP 埠映射、回覆 P2PPurchHoleAckPacket:
C# 實作 P2P 網路通訊程式 (5) — 伺服器轉發打洞請求與測試困惑
伺服器處理 P2P 連線請求 收到客戶端 P2PConnectionPacket,轉發 P2PPurchHolePacket 給目標使用者: c.UserNa
C# 操作 IIS 7.0 (1) — 建立網站完整實作與應用程式池整合
IIS 7.0 程式化管理優勢 IIS 7.0 全模組化、文字設定檔、MMC 圖形化工具,與 .NET 緊密整合。Microsoft.Web.Administr
C# 操作 IIS 7.0 (2) — 刪除網站、建立/刪除虛擬目錄
刪除網站 public static void DeleteSite(string siteName) { using (ServerManager
C# 操作 IIS 7.0 (4) — 驗證虛擬目錄與網站是否存在
驗證虛擬目錄是否存在 public static bool VerifyVirtualPathIsExist(string siteName, string p
C# 實現語音朗讀(簡訊 & 語音簡訊)SMS — 群發架構與 SAPI 5 TTS 整合
群發簡訊三種方案 簡訊貓 (SMS Modem):工控機 + SIM 卡,點對點發送,到達率高、號碼為普通手機號。限制:中華電信每小時 200 通/張 SIM
C# WinForm 跨執行緒存取控制項問題 (1) — 問題由來與 CheckForIllegalCrossThreadCalls 臨時方案
問題重現 直接在背景執行緒設定控制項屬性: private void ThreadFunction() { while (true) {
C# WinForm 跨執行緒存取控制項問題 (2) — BeginInvoke 陷阱:UI 執行緒被佔用導致介面凍結
常見但錯誤的 BeginInvoke 寫法 網路上許多範例直接在背景執行緒用 BeginInvoke 封送含無限迴圈的方法: private void Cro
C# WinForm 跨執行緒存取控制項問題 (3) — 推薦解決方案:InvokeRequired 模式
推薦解法:非同步等待 + Invoke 將 Sleep 與無限迴圈移至等待非同步的外層,透過 InvokeRequired 判斷是否需跨執行緒呼叫: publ
C# 使用雜湊表搜尋物件 (1) — HashTable 原理與效能優勢
序列式容器的效能瓶頸 .NET 大多數容器為序列式:按順序儲存,功能強大但查找特定物件耗時隨元素數線性增長(未排序)或對數增長(已排序)。 雜湊表原理 雜湊表
C# 列印 A4 紙實作 (1) — 從 VB6 Printer 物件到 .NET PrintDocument 的遷移挑戰
VB6 時代的簡單列印 VB6 中列印動態資料極簡單,Printer 物件支援自動分頁: rs.MoveFirst Printer.PaperSize = vb
C# 列印 A4 紙實作 (2) — 核心 pd_PrintPage 事件完整程式碼解析
核心列印邏輯:pd_PrintPage 事件 建立 PrintDocument、訂閱 PrintPage 事件、呼叫 Print(): PrintDocumen
C# 列印 A4 紙實作 (3) — 多頁列印效果與總結
列印效果截圖 (多頁時尾部資訊僅顯示於最後一頁) 總結 如此簡單的功能,在 .NET 中實現卻異常複雜,尤其自動分頁。雖然整體功能更強大,但移除了 VB6
C# 網路程式設計:協議與檔案傳輸 (1) — 兩種資料埠架構與 XML 協議設計
檔案傳輸:兩種架構選擇 前兩篇傳輸字串,現考慮檔案傳輸。假設客戶端選單輸入 S1~S3 送檔、R1~R3 收檔,有兩種做法: 雙固定埠(類 FTP):伺服器開
C# 網路程式設計:協議與檔案傳輸 (2) — 協議處理類別 ProtocolHandler 與 ProtocolHelper 實作
2. 協議處理類別實作 需求:1) 從可能合併/拆分的資料流中擷取完整協議;2) 從 XML 協議解析屬性值。 2.1 ProtocolHandler:擷取完
C# 網路程式設計:協議與檔案傳輸 (3) — FileRequestMode 列舉與 FileProtocol 結構定義
2.2 強型別協議模型 XML 以字串傳輸,為方便操作建立強型別模型。先定義 FileRequestMode 列舉區分傳送/接收: public enum F
C# 網路程式設計:協議與檔案傳輸 (4) — 伺服器端非同步架構與檔案接收完整實作
3.1 伺服器端實作 將問題拆為「發送資料」與「接收資料」兩部分。程式碼重點在思路而非語法,若從第一篇讀到此應易理解。 0); Conso
C# 網路程式設計:協議與檔案傳輸 (5) — 伺服器端協議處理與客戶端檔案傳送架構
伺服器端關鍵點 OnReadComplete() 中以委派非同步呼叫 handleProtocol(),因即將執行耗時的檔案讀寫操作。 ProtocolHel