→ drophead520: 我個人偏好想用c++自己寫server,處理資料庫連接寫入 04/22 00:15
→ drophead520: 取出和遊戲邏輯和客戶端server互傳 server,無奈實體d 04/22 00:15
→ drophead520: emo教學沒有,猶如瞎子摸象 04/22 00:15
→ drophead520: arcalet 書我有買,但cloud型的發展很難擴充其他系統 04/22 00:20
→ drophead520: 請問我的方向是學c++ socket寫server ,然後用客戶 04/22 04:34
→ drophead520: 端c#用tcp,udp互傳遊戲資料到這個c++ socket ,在用 04/22 04:34
到這裡其實都沒錯
→ drophead520: 這隻socket寫進和讀取資料庫和傳到客互端,這樣概念 04/22 04:34
這裡
你提到讀寫資料庫
所以我認為有必要提醒一下
→ drophead520: 正确嗎? 04/22 04:34
正常的做法
是不會對資料庫做頻繁讀寫
像是1秒讀寫入一次
或是客戶端每做一個動作就讀寫入一次
資料庫也有著資料同步的問題
所以寫跟讀是有先後順序的
並非同時進行
就算只搜尋索引
DB還是會去對資料做hash檢查
而資料庫基本上是還是檔案
讀取跟寫入的效能一樣受限於檔案系統的效能
如果遠端的話
就受限於網路通訊的效率
不曉得你是不是程式底
看過很多開發者都是用硬幹的
一筆一筆寫入資料庫
效能可想而知(根本科科)
所以請善用資料結構
使用超大陣列來提升效能
資料庫的部分固定時間批次寫入即可
資料庫只是用來伺服器剛開機的初始化和資料備份
這是基本
除非你的遊戲不是很即時
或者玩家人數不多
或是DB連線數開到數十萬
亦或是將資料庫分散
我個人偏好想用c++自己寫server,處理資料庫連接寫入取出和遊戲邏輯和客戶端server互傳 server,無奈實體demo教學沒有,猶如瞎子摸象arcalet 書我有買,但cloud型的發展很難擴充其他系統請問我的方向是學c++ socket寫server ,然後用客戶端c#用tcp,udp互傳遊戲資料到這個c++ socket ,在用這隻socket寫進和讀取資料庫和傳到客互端,這樣概念正确嗎?
作者: bearkitten 2015-04-22 20:52:00
請愛用nosql, 而且現在大型資料庫很少不切master-slave, 只要前面自己再實作個排程即可,時代在進步,不需要還一直用舊方法...