C# :雙向P2P聊天程式
基礎篇C# 簡介開發環境變數與運算流程控制陣列函數物件例外處理函式庫篇檔案處理資料結構正規表達式Thread應用篇視窗程式媒體影音網路程式遊戲程式手機程式資料庫雲端運算特殊功能委派擴展方法序列化LinQWPF網路資源教學影片投影片教學文章軟體下載考題解答101習題 |
簡介聊天程式是學習網路程式設計很好的入門題目之一,在本文中,我們將示範如何用 C# 的 Socket 函式庫設計一個網路聊天程式。以下是這個程式的執行時的一個畫面,讀者可以看到我們在兩個命令列視窗中執行同一個 ChatBox 程式,左上角是 Server 程式,右下角是 Client 程式。 在上圖中,Client 可以傳送訊息給 Server ,而 Server 也可傳送訊息給 Client,由於雙方在這個傳送接收的動作上幾乎是相同的,因此在寫程式時就將這些動作封裝後共用,可以讓程式更為精簡,這就是 P2P 架構的程式。 當然,這個程式也可以放在兩台不同的電腦上執行,其結果將與上述結果類似,只是無法同時在一台電腦上看到輸入與輸出的結果而已。 原始程式碼以下是上述雙向聊天程式 ChatBox 的原始程式碼,其中的 TcpListener 程式是 Client-Server 雙方所共用的部分,因此獨立出來變成一個類別,並且分別在 Client 與 Server 主程式當中都用 new TcpListener() 的方式呼叫。此時雙方都會建立一個寫入迴圈 (outLoop) 與讀取回圈 (inLoop),寫入迴圈不斷等待鍵盤的輸入,並在有輸入時將訊息傳遞給對方。而讀取回圈則是不斷接收對方所傳來的訊息並顯示在螢幕上。
|
page revision: 2, last edited: 15 Jun 2010 05:52
陳老師您好
我直接使用您提供的程式碼進行測試
在IP跟PORT的地方都有修改
程式除錯也沒有問題可以執行
但無法跟另一台電腦連上線的樣子
不知是哪邊出現問題,感謝您指教
Post preview:
Close preview