iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 23
0
Modern Web

關於你關於我關於phaser系列 第 23

Day 23 連線五子棋 ~ 關於 server

  • 分享至 

  • xImage
  •  

這一篇就來提提 server 的重要性與在我的程式裡面佔的地位。

有一位老大前輩有說,不要相信 client 端所有的訊息,以五子棋爲例,如果你是 client 判斷能不能放棋這件事情,會不會就有人亂改你的程式碼企圖覆蓋別人的位置?

因爲 client 端的 code 都放在可以看得到的地方,所以當你把這些邏輯判斷、規則、甚至是之後出遊戲接下來的觸發事件都寫在 client 端,小則讓玩家進度加快,大則改變遊戲規則影響遊戲

所以在遊戲的世界裡面, client 端只要負責渲染畫面與你認爲想對被看到也沒關係的資訊,但只要是攸關遊戲的規則、邏輯...都放在 server 會比較好,

一來可以減少 client 的負擔,因爲只要傳簡單的訊息,等 server 判斷完回來再渲染到畫面就好
二來可以防止有人意圖直接改 client 的 code ,企圖改變遊戲規則

所以這樣就知道 server 的重要行了,除了保持玩家的連線外,還要負責邏輯的判斷,甚至是與資料庫的溝通都要透過 server ,所以常常才聽到一些公司要分流阿、伺服器忙碌中阿,就是因爲每個 server 的穩定性與承載量是有限到,這時候就要去思考很多架構上的問題了,什麼要放在 client 端 、什麼要 server 要做,什麼要存在資料庫.....

講了這麼多就是當做了這個遊戲才更知道 server 的重要性與地位,所以明天的結合就會在一些邏輯判斷與畫面要怎麼呈現都放在 server , client 就只負責渲染畫面啦~~


上一篇
Day 22 連線五子棋 ~ 關於實作五子棋規則
下一篇
Day 24 連線五子棋 ~ 關於實作
系列文
關於你關於我關於phaser30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言