Re: [鲁蛇] 手机游戏多人连线相关问题

楼主: cowbaying (是在靠北喔)   2015-04-22 10:54:59
→ 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连线数开到数十万
亦或是将数据库分散
作者: drophead520 (别开玩笑)   2014-04-22 00:15:00
我个人偏好想用c++自己写server,处理数据库连接写入取出和游戏逻辑和客户端server互传 server,无奈实体demo教学没有,犹如瞎子摸象arcalet 书我有买,但cloud型的发展很难扩充其他系统请问我的方向是学c++ socket写server ,然后用客户端c#用tcp,udp互传游戏资料到这个c++ socket ,在用这只socket写进和读取数据库和传到客互端,这样概念正确吗?
作者: LayerZ (無法如願)   2015-04-22 11:17:00
推这篇,DB读写非常耗效能
作者: drophead520 (别开玩笑)   2015-04-22 11:32:00
谢谢你的回文对我帮助很大感谢
作者: bearkitten   2015-04-22 20:52:00
请爱用nosql, 而且现在大型数据库很少不切master-slave, 只要前面自己再实作个排程即可,时代在进步,不需要还一直用旧方法...

Links booklink

Contact Us: admin [ a t ] ucptt.com