- 博客(7)
- 问答 (1)
- 收藏
- 关注
原创 网络在线游戏开发心得(服务器端)(七)
bromon原创 请尊重版权七、启动与退出 为了让系统具备让人满意的性能,应该尽量多的重用对象,减少创建新对象。比如上面提到的消息发送,我们的操作是提供一个静态类,在系统启动的时候就初始化,保持与JMS服务器的连接,系统发送消息的时候,不用再去查询JNDI和生成QueueConnectionFactory,这样可以提高系统响应速度。 在数据库连接池的问题上,我们也采用同样的操作,启动的时候
2005-01-14 14:57:00 2553 1
原创 网络在线游戏开发心得(服务器端)(六)
六、异步消息 用户玩牌的过程中,有很多东西需要记录下来,比如记录用户的积分、等级变化,记录玩牌日志供数据统计等,当用户数量很多的时候,在数据库中记录这些信息会很耗费资源,用户玩了一局之后会可能会等待很长时间。解决这个问题的方法是利用J2EE的消息bean来提供异步通信的机制,需要记录数据的时候,系统会封装一个值对象,发送给J2EE容器,这个操作是很快的,完成之后就返回,用户可以继续操作,不用
2005-01-14 14:49:00 2264
原创 网络在线游戏开发心得(服务器端)(五)
bromon原创 请尊重版权五、线程 实际上本系统并没有复杂的线程管理,但是我想提供一个控制台让管理员可以管理游戏主线程,可以让它停止、中段、恢复、重启动,本来的设计是管理员通过与线程A打交道,通过A去管理主线程B,但是熟悉java线程的朋友都知道,线程互相管理基本上就是不实际的,举个最简单的例子,A如何销毁B?也许你会说调用B的destroy()方法就好了,网上很多讲解java线程的资料也确实
2005-01-14 14:46:00 2429
原创 网络在线游戏开发心得(服务器端)(四)
bromon原创 请尊重版权四、扑克牌的生成 游戏中需要为用户生成随机的扑克牌,首先我们需要初始化一副牌,放到一个Hashmap中,每张牌以一个字节表示,高为代表花色,的为代表数字,生成整副牌: package org.bromon.games.al;private static HashMap cards = new HashMap(); int tmp=0;for (
2005-01-14 14:43:00 2342
原创 网络在线游戏开发心得(服务器端)(三)
bromon原创 请尊重版权三、数据库连接池 由于没有一个web环境,所以我们需要自己实现一个数据库连接池,apache有一个项目叫做commons DBCP,这是一个基于apache自己的对象池(apache commons pool)实现的数据库连接池,我们可以直接拿来使用,apache的软件未必是最好的,但是极大可能比我们自己写的要好。 Commons DBCP需要三个.jar
2005-01-14 14:38:00 2901
原创 网络在线游戏开发心得(服务器端)(二)
bromon原创 请尊重版权二、通信协议 这个项目并没有复杂的通信指令,命令数量很有限,但是还是有个关键问题需要关注:流量。为了尽量减小流量,我们使用字节代替字符串来保存系统指令,这样可以使流量减少一半,比如使用一个字节来保存一张扑克牌,字节高位表示花色,字节低位表示数字,如果0代表黑桃,那么黑桃三就应该是0x03,这个需要靠位操作来实现: int m
2005-01-14 14:28:00 3319 2
原创 网络在线游戏开发心得(服务器端)(一)
Bromon原创 请尊重版权 一个多人在线的棋牌类网络游戏的项目临近尾声,我参与了该项目的整个设计流程,并且完成了90%的核心代码。关于这个项目,有很多地方值得聊一聊。本系列不打算把这个项目将得多么详细规范,那是设计文档应该描述的,我打算只说说一些值得注意的地方。 这个项目的一个特别之处是,客户端是手机,用户通过移动网络与服务器通信。和PC相比,手机的处理能力极弱,而且网络流量费用昂
2005-01-14 14:08:00 5918 4
空空如也
昨天被人问了个SQL的问题,实在想不出答案
2009-01-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人