用C#寫Socket程式–總結

來源:互聯網
上載者:User
   這兩天在寫一個C#通訊端程式,已成功完成,在這裡做一個小結:
   功能需求:(1)每個用戶端登陸時,可獲得已線上的其它用戶端,並可向其它用戶端(一個或多個)發送訊息,同時也可伺服器發              送訊息.
            (2)伺服器維護所有線上用戶端,並可向用戶端發送"系統訊息".
   我採用連線導向發TCP/IP,實現可靠的資料轉送!這裡關鍵是在伺服器端如何維護各個TCP串連的工作通訊端!因為一個用戶端向其相應的工作通訊端發送訊息(資料),並從它接收訊息(資料)!我採用一個HashTable,儲存客戶名及其工作通訊端.
   接下來,應該設計如何從用戶端/伺服器端發送/接收資料!我的設計是,採用自己定義訊息格式:
   訊息格式及其含意:  0|login|who   某人上線了
                    0|logout|who  某人下線了
                    0|online|count3|someone1|someone2|someone3  當前線上的所有人員
                    1|Msg 系統訊息
                    2|toMemberCount3|someone1|someone2|someone3|who    who發送訊息給線上的n個成員,當n最大值為所有其它成員的個資料,即發給所有同群組成員.
                    2|Msg|who   who向系統發送訊息
   基於上述需求及設計,我很快用C#寫給了相應的程式實現.

   呵呵,我的這種設計估計只能實驗功能,至於高效的商業運用,還要很大的努力才行!恩,繼續努力!
附:
參考文獻http://files.cnblogs.com/fuhongwei041/socket.doc

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.