游戏服务器中商城设计的碎碎念(三)

本文探讨了游戏服务器中商城设计的注意事项,包括C/S数据交互、基于协议的类RPC交互确保安全性,避免解包问题,以及在长连接下如何控制客户端获取信息。此外,还提及了购买逻辑、潜在问题如购买冷却、信息更新和扣款时机等,强调代码优化对服务器性能的重要性。
摘要由CSDN通过智能技术生成

C/S数据交互

在服务器和客户端的交互中,经常会有一些奇奇怪怪的点影响整体设计
不过不论是怎样,网络游戏无外乎就是使用TCP、UDP或者比较新的KCP(据说这个很强)来发送一些打包过的数据,不管用长连接还是短链接,万变不离其宗。

基于协议的类RPC交互

确实,为了实现最基本的功能,用JSON都可以让服务器和客户端完成交互,但这毕竟不安全。
比较现实也是很多人在用的方法就是,将数据结构体按照某种特定的方式序列化后进行加密,当然这个我不说大家应该也都知道。
基于我组的项目需求,我们使用了一种在长连接下的,类似RPC的交互模式。之所以说是类似RPC,是因为数据的交互可能是多对多的,而非一对一。

不能让他们解包!

解包,基本上所有游戏都遇到过这个问题。
当然解包本身对游戏并不一定会有什么影响,很多厂商对解包也都不会加以限制。
但我们这个商城呀,它毕竟是个商城,所以不能随意的就让商城信息被解包获取到。
因此,数据完全是被放在服务器端的,由服务器来判断客户端能得到哪些信息,不能得到哪些信息。
这样也有一个好处——当然是小概率事件——就是可以防止策划上架商品时价格输错。不要认为这是一件不可能发生的事,这是真的出现过的。

具体一点点的逻辑?

整体而言,交互的逻辑是类似RPC的过程,基本上可以拆解为以下几个部分。
(代码?代码是不可能贴的,反正具体到业务上逻辑就那么简单

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值