西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴(lài)的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開(kāi)發(fā)C#.NET → Socket Server連接客服端的簡(jiǎn)單實(shí)現(xiàn)

Socket Server連接客服端的簡(jiǎn)單實(shí)現(xiàn)

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站整理時(shí)間:2010/9/12 21:54:41字體大。A-A+

作者:佚名點(diǎn)擊:922次評(píng)論:0次標(biāo)簽: Socket 客服端

  • 類(lèi)型:服務(wù)器區(qū)大。21KB語(yǔ)言:中文 評(píng)分:6.6
  • 標(biāo)簽:
立即下載

一、基本原理
有時(shí)候我們需要實(shí)現(xiàn)一個(gè)公共的模塊,需要對(duì)多個(gè)其他的模塊提供服務(wù),最常用的方式就是實(shí)現(xiàn)一個(gè)Socket Server,接受客戶的請(qǐng)求,并返回給客戶結(jié)果。

這經(jīng)常涉及到如果管理多個(gè)連接及如何多線程的提供服務(wù)的問(wèn)題,常用的方式就是連接池和線程池,基本流程如下:

 

首先服務(wù)器端有一個(gè)監(jiān)聽(tīng)線程,不斷監(jiān)聽(tīng)來(lái)自客戶端的連接。

當(dāng)一個(gè)客戶端連接到監(jiān)聽(tīng)線程后,便建立了一個(gè)新的連接。

監(jiān)聽(tīng)線程將新建立的連接放入連接池進(jìn)行管理,然后繼續(xù)監(jiān)聽(tīng)新來(lái)的連接。

線程池中有多個(gè)服務(wù)線程,每個(gè)線程都監(jiān)聽(tīng)一個(gè)任務(wù)隊(duì)列,一個(gè)建立的連接對(duì)應(yīng)一個(gè)服務(wù)任務(wù),當(dāng)服務(wù)線程發(fā)現(xiàn)有新的任務(wù)的時(shí)候,便用此連接向客戶端提供服務(wù)。

一個(gè)Socket Server所能夠提供的連接數(shù)可配置,如果超過(guò)配置的個(gè)數(shù)則拒絕新的連接。

當(dāng)服務(wù)線程完成服務(wù)的時(shí)候,客戶端關(guān)閉連接,服務(wù)線程關(guān)閉連接,空閑并等待處理新的任務(wù)。

連接池的監(jiān)控線程清除其中關(guān)閉的連接對(duì)象,從而可以建立新的連接。

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱(chēng):
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)