激战的后厨2观看完整版,強姦亂倫強姦在线观看,国产无套内射普通话对白,老头呻吟喘息硕大撞击,他扒开我小泬添我三男一女视频

廈門服務器租用>業界新聞>游戲服務器需要設置好網絡通信

游戲服務器需要設置好網絡通信

發布時間:2020/7/2 15:12:39    來源: 縱橫數據

游戲服務�?19.png


游戲服務器需要設置好網絡通信
這個是首要實現的,如果沒有網絡通信,就沒有游戲服務器存在的必要了。網絡通信就需要建立網絡連接。目前網絡通信有兩種方式,一種是短連接,比如http,一種是長連接,比如socket,當然http也是基于socket的,socket是通信的基礎。所以要對tcp/ip通信的知識有所了解,明白通信的原理。基于這兩種網絡通信,游戲服務器也分為兩種,弱聯網和強聯網。弱聯網的游戲一般是指一些小型的游戲,比如開心消消樂,連連看,以及一些卡牌養成類游戲,這類游戲一般幾秒鐘或幾分鐘再會與服務器同步一次數據,一般會使用短連接。而像一些arpg游戲,實時戰斗類游戲,以及帶同屏顯示玩家的游戲,這類游戲與服務器交互信息頻繁,一秒鐘可能幾十次,會采用長連接,避免每次連接重新建立消耗系統資源,提高通信效率。
為了網絡通信的效率,游戲服務器要使用NIO(非阻塞網絡通信)通信。它能支持大并發連接。Java NIO是多路復用IO,在多路復用IO模型中,會有一個線程不斷去輪詢多個socket的狀態,只有當socket真正有讀寫事件時,才真正調用實際的IO讀寫操作。因為在多路復用IO模型中,只需要使用一個線程就可以管理多個socket,系統不需要建立新的進程或者線程,也不必維護這些線程和進程,并且只有在真正有socket讀寫事件進行時,才會使用IO資源,所以它大大減少了資源占用。目前基于此技術有很多開源框架,最常用的有兩種,Netty和Mina。
所以在網絡通信這一塊,如果是弱聯網游戲,可以使用web那一套來開發游戲服務器,需要學習的技術一般有http原理,Json格式協議,servlet,Tomcat(也可以是其它web容器),spring等。如果是強聯網游戲,要學習的技術有Netty或Mina可以選擇一種,多線程以及線程池的應用。這是網絡通信所必須掌握的。只要能把客戶端發送的信息接收到,并解析成代碼使用的明文,就是成功了一半了,剩下的事就是把代碼封裝好,方便邏輯開發調用!
通信這塊還要考慮消息的并發,長連接情況下,怎么處理斷包,粘包問題,每個用戶的消息處理的是不是有序的,如果有序會不會阻塞消息,如果無序會不會造成處理混亂,比如后到的消息先處理了,這些問題都要處理好,目前一般是保證同一個用戶的消息要有序處理!【艾娜】

在線客服
微信公眾號
免費撥打400-1886560
免費撥打0592-5580190 免費撥打 400-1886560 或 0592-5580190
返回頂部
返回頭部 返回頂部