netty中LengthFieldBasedFrameDecoder的使用
摘要:在org.jboss.netty.handler.codec.frame包中,有LengthFieldBasedFrameDecoder类用来解析带有长度属性的包,只要我们在传输协议中加入包的总长度就行了(也许有更好的方法)
具体方法:
1.可在数据包前加4个字节表示包的总长度,例如:
阅读全文
posted @
2014-10-24 12:35
上校
阅读(13725)
推荐(0) 编辑
网络游戏服务器架构(转)
摘要:网络游戏一般采用C/S结构,客户端负责绘制游戏世界的实时画面,服务器端则负责响应所有客户端的连接请求和游戏逻辑处理,并控制所有客户端的画面绘制,客户端与服务器通过网络数据包交互完成每一步游戏逻辑。
网关服务器方式,主要职责是将客户端通信和游戏服务器隔离。
网关服务器只负责解析数据包、加解密、超时处理、过滤错误包,客户端只需建立和网关服务器的连接即可进入游戏,无需与游戏服务器直接连接。
网关服务器分为LoginGate(登录网关服务器)、GameGate(游戏网关服务器)。
阅读全文
posted @
2014-10-21 22:56
上校
阅读(1177)
推荐(0) 编辑
H2 database的使用
摘要:H2数据库介绍
常用的开源数据库:H2,Derby,HSQLDB,MySQL,PostgreSQL。其中H2,HSQLDB类似,十分适合作为嵌入式数据库使用,其它的数据库大部分都需要安装独立的客户端和服务器端。
H2的优势:
1、h2采用纯Java编写,因此不受平台的限制。
2、h2只有一个jar文件,十分适合作为嵌入式数据库试用。
3、性能和功能的优势
阅读全文
posted @
2014-10-18 19:38
上校
阅读(5332)
推荐(0) 编辑
Java集合
摘要:Java集合:就是将若干用途、性质相同或者相近的“数据”组合而成一个整体。
·从体系上讲,集合类型可以归纳为三种:
1.集(set):Set集合中不区分元素的顺序,不允许出现重复元素
2.列表(List):List集合区分元素的顺序,且允许包含重复元素。
3.映射(Map):映射中保存成对的“键-值”(Key-Value)信息,映射中不能包含重复的键,每个键最多只能映射一个值。
阅读全文
posted @
2014-10-14 00:03
上校
阅读(680)
推荐(0) 编辑
Java Volatile相关文章目录
摘要:参考资料:
http://www.google.com/cse?sa.x=0&sa.y=0&cx=010284515138798138769%3Aajbqkpwaapm&ie=UTF-8&q=volatile#gsc.tab=0&gsc.q=volatile&gsc.page=1
1、最完整说明Volatile作用的文章:
http://ifeve.com/jmm-faq-volatile/
2、说明了volatile的使用场景的文档:
http://www.ibm.com/developerworks/cn/java/j-jtp06197.html
阅读全文
posted @
2014-10-13 16:54
上校
阅读(329)
推荐(0) 编辑
Java 理论与实践: 正确使用 Volatile 变量
摘要:volatile 变量使用指南
Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的 Java 理论与实践 中,Brian Goetz 将介绍几种正确使用 volatile 变量的模式,并针对其适用性限制提出一些建议。
阅读全文
posted @
2014-10-13 16:52
上校
阅读(423)
推荐(0) 编辑
使用SVN进行项目版本管理
摘要:1.摘要
本文描述了利用SVN进行项目版本管理的方法,涉及项目版本号命名规则、SVN目录结构、第三方代码库的管理、版本创建、发布、修订、合并等行为的方法和原则。
2.版本号命名规则
版本号采用主版本号.次版本号.修订号组成。版本的重大变化主版本号增1,次版本号和修订号归零。版本的相对较小的变化主版本号维持不变,次版本号增1,修订号归零。当一个版本发布后出现了bug需要修订,此时,主、次版本号不变,修订号增1。
注意:对于主动性的程序功能性的变化,应该增加主或次版本号,不应该通过修订号来反映。修订号只用于对已发布版本的bug修订,一个版本的修订号的大小某种程度上可以反映一个版本发布后的稳定情况。
阅读全文
posted @
2014-10-10 11:43
上校
阅读(7961)
推荐(0) 编辑
项目中用到的logback列子
摘要:
log/activity.log
%date|%msg%n
log/activity.log-%d{yyyy-MM-dd}
阅读全文
posted @
2014-10-01 01:06
上校
阅读(851)
推荐(0) 编辑
logback logback.xml常用配置详解(三) <filter>
摘要:logback 常用配置详解(三)
:
过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一。返回DENY,日志将立即被抛弃不再经过其他过滤器;返回NEUTRAL,有序列表里的下个过滤器过接着处理日志;返回ACCEPT,日志会被立即处理,不再经过剩余过滤器。
过滤器被添加到 中,为 添加一个或多个过滤器后,可以用任意条件对日志进行过滤。 有多个过滤器时,按照配置顺序执行。
阅读全文
posted @
2014-10-01 01:02
上校
阅读(3714)
推荐(0) 编辑
logback 常用配置详解(二) <appender>
摘要:logback 常用配置详解(二)
:
是的子节点,是负责写日志的组件。
有两个必要属性name和class。name指定appender名称,class指定appender的全限定名。
阅读全文
posted @
2014-10-01 01:01
上校
阅读(1863)
推荐(0) 编辑
logback 配置详解(一)
摘要:一:根节点包含的属性:
scan:
当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
scanPeriod:
设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
debug:
当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
阅读全文
posted @
2014-10-01 01:00
上校
阅读(21207)
推荐(5) 编辑