做网游服务器端有没有敢用COM技术的?网游界老鸟们进来切磋一下。

Sachow 2011-06-16 12:00:22
说到COM,以及DCOM、COM+等衍生技术,很多人感觉闻到了陈年腐尸的味道,但是我觉得,这些作为Windows基石的技术,怎会轻易退出历史舞台?

再说网游服务器端,目前绝大多数的架构都是极其雷同的,和十几年前韩国人搞出来的那套成熟的服务器架构情人地相似:几个Gateway Server,一个Login Server,一个Game Server,一个DB Server,服务器间通信统统是自定协议的TCP通信。

最近我接触的一套网游的服务器端架构特别令我抓狂,增加和修改协议成了一件很痛苦的事情,系统之间存在大量的冗余代码。这让我想寻找一种更省事、同时具有高性能的接口形式,对于我又想到了COM+,就此我曾与以前的同事聊过,其中不乏牛人,无奈其中COM技术造诣高者没有深入研究过网游服务器端,网游服务器端的老手又没有深入研究过COM技术,难道两者之间就有那么深的鸿沟吗?

在此我们有一个前提假设,就是我们的服务器只运行在Windows下,先不要谈移植性,网游的利润率还没有低到一定要省那点正版软件费用的时候。

(分不够今后再加,相信老鸟们也不会冲着这点小分而来)
...全文
634 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
simonlx 2012-02-14
  • 打赏
  • 举报
回复
我觉得技术上是可行 除了window上的问题

不过只能用在其中一部分


游戏服务器和中心服务器(数据服务器)之间 用com+
大叔才是主流 2012-02-12
  • 打赏
  • 举报
回复
COM网游服务器端我真见过,我入行的做的第一个网络游戏,就是COM做的服务器,仿魔兽的无缝服务器呢,主程是个疯子,我只能说,一堆新手进来,很难上手.COM,真不喜欢这个东西.我现在早改做客户端了,COM,噩梦啊.
成都的某创业公司,上古世界,不知道做出来没有.
grefen 2012-01-03
  • 打赏
  • 举报
回复
28楼支持下
dfasri 2011-12-20
  • 打赏
  • 举报
回复
COM和DCOM
在效率上, 不符合条件. 通用的效率永远比专用的低.
在安全上, 不符合条件. COM和DCOM的安全漏洞, 看看微软的更新日志就知道了.
在系统上, 不符合条件. WINDOWS要钱买的, LINUX不用钱买, 当然是哪个便宜选用哪个了.
draracle 2011-11-30
  • 打赏
  • 举报
回复
服务器不用com的主要原因是效率,主要是指服务器间的通讯效率。com组件之间的通讯需要经由系统的rpc进程,而且要组织一大堆dispatch相关的信息。而且效率达不到网游所需要的实时性。

另外关于通讯上的冗余问题,主要是设计之初缺乏一个良好的消息封装机制,主要是指参数,因此一个良好的序列化以及反序列化机制就非常有必要了。可以参考boost内的序列化机制。很方便,用<<和>>操作符。
sxcong 2011-10-19
  • 打赏
  • 举报
回复
用Linux不在于是否正版
你安装了一千台Linux Server,自己公司的员工可以管理。如果你买了一千台Windows Server,只能请MS专家来管理,这就是区别。虽然Windows在桌面上比Linux简单,但做到深处,因为相对是封闭的,真正的专家并不多。相反Linux在大规模服务器布置,数据库分布等,有很多开源项目可供参考。
sxcong 2011-10-19
  • 打赏
  • 举报
回复
现在网游服务器端基本都采用Linux了
只要想想同时在线人数可能是几十万,几百万,需要成百上千台服器(大型公司都是几十万台服务器,当然这些公司很少),到了这个程度上还是用Linux最方便,不管是文件系统,分布,集群,同布,备份等,在开源项目中都能找到解决方案。如果是Windows,一概花钱买。这里就别说Linux开发人员,DBA工资高低的问题了,月薪2万以上的人都集中在这里。听说有个做c#的期望年薪百万,前提是他不仅仅只会c#。
聪明的一休 2011-10-11
  • 打赏
  • 举报
回复
那只能说明你不做网游服务端,或者你做的还没有进入运营阶段,没有类似经验。
赚钱的网游这点费用是不算什么,但网游赚不赚钱是没法预计的。
我说的是大趋势!

[Quote=引用 23 楼 car_mack 的回复:]

第二点不是很同意引用 22 楼 wfevgch 的回复:

两点重点
1.同意楼主,大部分做网游服务器端的没有深入研究过COM技术
2.现在服务器用linux是大势所趋,别小看这点正版费用,不然你根本没法跟人谈代理
[/Quote]
景荣1 2011-10-11
  • 打赏
  • 举报
回复
第二点不是很同意[Quote=引用 22 楼 wfevgch 的回复:]

两点重点
1.同意楼主,大部分做网游服务器端的没有深入研究过COM技术
2.现在服务器用linux是大势所趋,别小看这点正版费用,不然你根本没法跟人谈代理
[/Quote]
聪明的一休 2011-10-11
  • 打赏
  • 举报
回复
两点重点
1.同意楼主,大部分做网游服务器端的没有深入研究过COM技术
2.现在服务器用linux是大势所趋,别小看这点正版费用,不然你根本没法跟人谈代理
evil84 2011-10-08
  • 打赏
  • 举报
回复
楼主的意思难倒是服务器和服务器之间不通过发送消息,而通过接口调用来实现??
貌似bigworld是用的DCOM还是什么来着,反正是类似的做法。
景荣1 2011-10-08
  • 打赏
  • 举报
回复
mark
raphaelcheung 2011-10-05
  • 打赏
  • 举报
回复
没看明白COM和增加修改协议有啥直接关系~~~
wuhuwy 2011-09-25
  • 打赏
  • 举报
回复
学习一下了,对服务器端架构没有了解
h_falls 2011-09-25
  • 打赏
  • 举报
回复
我接触的服务器从来不用windows, 怎么用COM ? 太多大公司不用windows 做服务器了
lc198635 2011-09-22
  • 打赏
  • 举报
回复
客户端框架还见到过使用Com,服务器端没了解...
思月行云 2011-09-22
  • 打赏
  • 举报
回复
LZ的神贴让当初引领小弟入行的高手们齐聚一堂了~ 呵呵~
ichanging 2011-09-21
  • 打赏
  • 举报
回复
最近我接触的一套网游的服务器端架构特别令我抓狂,增加和修改协议成了一件很痛苦的事情,系统之间存在大量的冗余代码。这让我想寻找一种更省事、同时具有高性能的接口形式,对于我又想到了COM+
---------------------
你的痛苦源于增加修改协议,即使用com,增加修改协议一样痛苦
实际你需要的是整洁的,可扩展的模块化代码,至于是不是com,关系不大
雪人2015 2011-06-21
  • 打赏
  • 举报
回复
我严重的顶一下楼主。继续学习@
Sachow 2011-06-21
  • 打赏
  • 举报
回复
此贴想讨论的东西,就是想打破常规,打破思维的束缚,探讨一种新的、可行的构架模式。
加载更多回复(11)

8,304

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧