日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

常见网络游戏同步方式

發(fā)布時(shí)間:2025/3/21 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常见网络游戏同步方式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、為什么需要有同步呢?

同步機(jī)制是用來維護(hù)游戲的一致性,通俗的說就是虛擬世界中的事實(shí);比如在CF中,大家的PING都很高,A和B兩個(gè)玩家同時(shí)發(fā)現(xiàn)了對(duì)方,并向?qū)Ψ介_火,如果沒有很好的同步機(jī)制,那么A玩家的顯示B還沒有開槍就被擊中,而B的屏幕上顯示玩家A還沒有開槍就被殺死,這就出現(xiàn)了不一致的問題,那么這個(gè)游戲就沒法正常玩了。

延遲是造成不一致問題的主要原因。如果延遲都為0,那么也就不存在不一致的問題了,就像在真實(shí)世界中一樣。而同步機(jī)制除了基本的通信作用外,最重要的任務(wù)就是解決不一致問題。為了保證游戲的一致性,根據(jù)游戲類型、技術(shù)條件的不同,選擇的同步方式也會(huì)不同。

二、同步方式的基本思路

其實(shí)最容易實(shí)現(xiàn)同步的游戲應(yīng)該就是回合制游戲了;同步機(jī)制還是采用了回合的思想,像目前的即時(shí)游戲,其實(shí)也是由許多時(shí)間跨度非常短的回合(turn)組成的,由于人眼的記憶時(shí)間是0.1秒,在回合跨度小于這個(gè)時(shí)間的游戲里,玩家是感受不到有回合的感覺的。

圖中是A、B、C三個(gè)玩家的時(shí)間軸,虛線劃分出來的是每一個(gè)turn的時(shí)間片(一個(gè)回合),假如說A、B、C這三個(gè)玩家是敵對(duì)的,在某一個(gè)turn,A發(fā)出了攻擊B的指令、B發(fā)出了攻擊C的指令,C發(fā)出了攻擊B的指令;那么在這個(gè)turn結(jié)束后開始計(jì)算(由于turn的時(shí)間跨度很小,玩家難以覺察出延遲),游戲里的表現(xiàn)就是:在同一時(shí)間角色A攻擊了B,角色B和角色C相互發(fā)生了攻擊。

?

?

常見游戲網(wǎng)絡(luò)同步方式

C/S同步方式:

(C是客戶端,GSS是服務(wù)端)

優(yōu)點(diǎn):服務(wù)器實(shí)現(xiàn)整套游戲邏輯,安全性高。計(jì)算都是在服務(wù)器上,客戶端的邏輯運(yùn)算壓力低;客戶端可以進(jìn)行預(yù)處理一些內(nèi)容,客戶端本地的即時(shí)性相對(duì)較高。

優(yōu)點(diǎn):服務(wù)器實(shí)現(xiàn)整套游戲邏輯,安全性高。計(jì)算都是在服務(wù)器上,客戶端的邏輯運(yùn)算壓力低;客戶端可以進(jìn)行預(yù)處理一些內(nèi)容,客戶端本地的即時(shí)性相對(duì)較高。

?

缺點(diǎn):服務(wù)器和客戶端需要進(jìn)行所有的數(shù)據(jù)交互和同步,導(dǎo)致網(wǎng)絡(luò)流量大;服務(wù)器的計(jì)算壓力大,承載的能力受到限制;由于需要通過服務(wù)器中轉(zhuǎn),導(dǎo)致不同客戶端之間的即時(shí)性較差;由于C/S?架構(gòu)數(shù)據(jù)是以服務(wù)器為準(zhǔn),那么本地可能會(huì)和服務(wù)器的不同,導(dǎo)致玩家看到的和最終結(jié)算的結(jié)果不同。

?

適用的游戲:大型的MMORPG網(wǎng)游等不需要對(duì)操作響應(yīng)要求極高的游戲,同屏內(nèi)沒有大量的需要快速響應(yīng)的單位的游戲;需要服務(wù)器強(qiáng)校驗(yàn)的游戲。

幀 同步方式:

(FrameServer?用來同步的服務(wù)器,ArenaServer是在客戶端的表現(xiàn)以及計(jì)算邏輯)

優(yōu)點(diǎn):服務(wù)器僅作轉(zhuǎn)發(fā)邏輯,承載壓力低;客戶端與服務(wù)器僅需要傳遞同步的數(shù)據(jù),網(wǎng)絡(luò)流量少;所有的計(jì)算邏輯都在客戶端,服務(wù)端和客戶端的開發(fā)關(guān)聯(lián)度低,便于開發(fā)。

?

缺點(diǎn):相對(duì)與C/S結(jié)構(gòu)來說,幀同步的邏輯都在客戶端,安全性理論上會(huì)較弱,但是可以通過對(duì)比各個(gè)客戶端每幀的checksum檢查某個(gè)客戶端是否存在不同,然后做出是否作弊的判定。針對(duì)多人幀同步游戲,通過對(duì)每幀數(shù)據(jù)的檢測(cè)可以很好的保證游戲安全性,所以多人幀同步游戲一般安全性會(huì)很好。

?

適用的游戲:需要對(duì)操作響應(yīng)要求較高的游戲,且同屏之內(nèi)有大量需要快速響應(yīng)的單位類似dota2,星際等。同時(shí)玩一局游戲的人不多。

戲的人不多。

P2P同步方式:

?

(C是客戶端,GSS是服務(wù)端)

優(yōu)點(diǎn):服務(wù)器僅作轉(zhuǎn)發(fā)邏輯,承載壓力低;客戶端與服務(wù)器僅需要傳遞同步的數(shù)據(jù),網(wǎng)絡(luò)流量少;所有的計(jì)算邏輯都在客戶端,服務(wù)端和客戶端的開發(fā)關(guān)聯(lián)度低,便于開發(fā),客戶端之間的延遲低。

?

缺點(diǎn):邏輯都在客戶端,導(dǎo)致容易被攻擊;不容易做安全性校驗(yàn);且只能適合少量的類似局域網(wǎng)的用戶。

?

適用的游戲:需要對(duì)操作響應(yīng)要求極高的游戲,類似QQ飛車,FPS類游戲等;同時(shí)玩一把游戲的人不多,理論上來說不適合用來做網(wǎng)絡(luò)游戲的方案,因?yàn)槿菀妆煌鈷旃簟?/p>

?

?*轉(zhuǎn)載請(qǐng)注明來自游戲安全實(shí)驗(yàn)室(GSLAB.QQ.COM)

轉(zhuǎn)載于:https://www.cnblogs.com/nothx/p/8531897.html

總結(jié)

以上是生活随笔為你收集整理的常见网络游戏同步方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。