棋牌服務(wù)器的用戶(hù)玩家同屏是怎樣實(shí)現(xiàn)的?不僅是棋牌游戲,網(wǎng)游和手游都能實(shí)現(xiàn)玩家同屏,在這個(gè)過(guò)程中服務(wù)器起著什么樣的作用?大家都知道游戲服務(wù)器與普通服務(wù)器相比,性能和配置等都比較高,價(jià)位也高,為大家介紹一下棋牌服務(wù)器的用戶(hù)玩家同屏是怎樣實(shí)現(xiàn)的。
棋牌服務(wù)器的用戶(hù)玩家同屏是怎樣實(shí)現(xiàn)的?不僅是棋牌游戲,網(wǎng)游和手游都能實(shí)現(xiàn)玩家同屏,在這個(gè)過(guò)程中服務(wù)器起著什么樣的作用?大家都知道游戲服務(wù)器與普通服務(wù)器相比,性能和配置等都比較高,價(jià)位也高,為大家介紹一下棋牌服務(wù)器的用戶(hù)玩家同屏是怎樣實(shí)現(xiàn)的。
因?yàn)槠迮朴螒虻耐綌?shù)據(jù)量比較小。一般常見(jiàn)的同步方式有兩種:
a,客戶(hù)端主動(dòng)拉取。
客戶(hù)端定時(shí)主動(dòng)向服務(wù)器請(qǐng)求一個(gè)用戶(hù)的消息隊(duì)列,當(dāng)一個(gè)玩家有操作需要同步到其他玩家時(shí),在服務(wù)器端先把這個(gè)消息放到這個(gè)用戶(hù)的消息隊(duì)列中。等待客戶(hù)端的拉取操作。這種方式的好處是,不需要考慮網(wǎng)絡(luò)閃斷或網(wǎng)絡(luò)不好的情況,信息都是同步獲取的。缺點(diǎn)是,定時(shí)拉取的時(shí)間間隔很短,可能不到一秒就會(huì)拉取一次。
b,服務(wù)器主動(dòng)推送
當(dāng)一個(gè)用戶(hù)出牌的消息需要同步給其他玩家時(shí),服務(wù)器會(huì)獲得這個(gè)玩家與服務(wù)器建立的socket連接,然后服務(wù)器使用socket 主動(dòng)向客戶(hù)端發(fā)送消息。
這種方式要考慮網(wǎng)絡(luò)閃斷,消息丟失的問(wèn)題。因?yàn)榉?wù)器推送的消息,客戶(hù)端有可能會(huì)收不到。所以客戶(hù)端需要根據(jù)心跳來(lái)判斷網(wǎng)絡(luò)是否有斷開(kāi)過(guò),如果有斷開(kāi),需要重新從服務(wù)器拉取整個(gè)房間狀態(tài)的消息?;蛘吒鶕?jù)服務(wù)器發(fā)送的消息號(hào),如果客戶(hù)端發(fā)現(xiàn)接收到的服務(wù)器消息號(hào)有跳號(hào)的,比如應(yīng)該接收10,卻收到了12,說(shuō)明中間有消息丟失,需要重新拉取整個(gè)房間的狀態(tài)信息。
這種方式的缺點(diǎn)是,開(kāi)發(fā)復(fù)雜,需要考慮一些網(wǎng)絡(luò)問(wèn)題。優(yōu)點(diǎn)是,只有在有消息的時(shí)候才會(huì)推送,沒(méi)有的話不推送,不占用帶寬等系統(tǒng)資源,可以增加用戶(hù)同時(shí)在線量,也就是增加了服務(wù)器的承載量。
棋牌服務(wù)器的用戶(hù)玩家同屏是怎樣實(shí)現(xiàn)的?看過(guò)了以上所有的文章之后,對(duì)于棋牌服務(wù)器的用戶(hù)玩家同屏是怎樣實(shí)現(xiàn)的相信你已經(jīng)心里有數(shù)了,你可以看到服務(wù)器在游戲運(yùn)行中存在的重要地位,所以大家在選擇服務(wù)器的時(shí)候一定要認(rèn)真挑選。
免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。