乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      實(shí)用的Unity3D基于TCP/IP協(xié)議的網(wǎng)絡(luò)通信框架

       kiki的號(hào) 2017-06-01

      大家好,我是FoldCc,今天給大家分享一下自己設(shè)計(jì)并且經(jīng)常用到的一個(gè)網(wǎng)絡(luò)通信框架---客戶端

      經(jīng)過(guò)自己的實(shí)踐,發(fā)現(xiàn)這套框架在應(yīng)對(duì)一些中小型手游還是比較穩(wěn)定使用的,整體結(jié)構(gòu)也比較簡(jiǎn)單,但是特別實(shí)用,唯一要注意一點(diǎn)的是在開(kāi)發(fā)網(wǎng)絡(luò)通信時(shí),一定要注意多線程爭(zhēng)用資源的問(wèn)題。

      下面我為大家詳細(xì)介紹一下:

      首先最核心的是Socket連接器 它的功能主要有4個(gè)

      》向服務(wù)器發(fā)起連接請(qǐng)求

      》一個(gè)能夠返回已經(jīng)連接服務(wù)器的Socket的方法(僅用于之后開(kāi)啟接收和發(fā)送消息線程)

      》判斷當(dāng)前是否連接正常

      》斷開(kāi)服務(wù)器連接

      當(dāng)連接器連接成功后會(huì)自動(dòng)創(chuàng)建兩個(gè)線程,分別用來(lái)接收和發(fā)送,(至于為什么要單獨(dú)分開(kāi)成兩個(gè),是因?yàn)樵趯?shí)際應(yīng)用中一個(gè)線程處理這兩個(gè)效率上低,容易出問(wèn)題,并且理論上來(lái)說(shuō)一個(gè)線程同時(shí)處理發(fā)送和接收也有點(diǎn)不合理)為了防止接收和發(fā)送線程在處理消息可能出現(xiàn)效率跟不上的問(wèn)題,我設(shè)置了兩個(gè)消息隊(duì)列,分別用來(lái)裝發(fā)送的消息和接收的消息,其中接收的消息通過(guò)消息分類(lèi)器分類(lèi)到不同隊(duì)列中,這里需要注意的一點(diǎn)是,接收消息需要做粘包處理!說(shuō)通俗一點(diǎn)就是判斷消息的完整性,這里我為所有消息都加了一個(gè)特定的消息頭 和消息尾 用來(lái)判斷消息的完整性,至于消息頭和消息尾的內(nèi)容由自己設(shè)計(jì),最好是不常使用的一些特殊字符,防止遇到和內(nèi)容相同的情況。

      兩個(gè)線程則只負(fù)責(zé)將收到的消息往隊(duì)列中存儲(chǔ)以及將發(fā)送隊(duì)列的消息按順序發(fā)送就行了,消息分類(lèi)會(huì)單獨(dú)去對(duì)消息進(jìn)行分類(lèi)并存放到對(duì)應(yīng)隊(duì)列中。

      下面是這一套框架的流程圖,如果有用大家?guī)兔D(zhuǎn)載哦!大笑

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多