客户端服务器应统一库的使用

网游服务器和客户端有许多功能是完全相同的。相关功能的代码应该是可以共用的。
但是服务器和客户端使用了一些专门的工具库,使两边的代码不能直接共用。

如装备升级功能中,哪个装备添加哪些材料,花费多少,最终生成哪个装备,
这些由一个配置文件配置,服务器端和客户端是一样的配置文件。
客户端会预先判断是否可以升级,然后向服务器请求。服务器会进行同样的判断。
配置文件的读取和条件的判断这两个功能服务器客户端是相同的。
相关功能的代码应该也是可以共用的。

但是客户端用的xml解析库是tinyXml, 服务器用的是其他的xml库。
客户端大量使用了引擎自带的工具库,如单件,智能指针,
那一套与服务器的工具库也是不能通用的。
客户端是Windows平台的,服务器是Linux的,各自使用了平台专用的API,
结果也会造成无法通用。

为了能够一份代码两边共用,需要统一服务器和客户端所使用的库。
通用的功能都使用该公共库,不得使用专用的库和API。

1. 尽量使用 STL,BOOST 通用库。
2. 客户端3D引擎中通用的工具库共享给服务器使用。
3. 使用平台通用的库和API。

(金庆的专栏)