[传播]引擎的licence问题,j2me polish 参考

他的license分为几种收费类型:GPL的,single的,企业的

那么我们做商业开发是否能用它呢?能否使用GPL的license?是否必须购买商业版本呢?

j2mepolish的license在这里:

http://www.j2mepolish.org/licenses.html

1.如果在项目中使用GPL license,则可以无限制的使用,前提是你的项目必须遵循GPL。

2.Commercial Licenses(商业许可证)

分为:Developer Seat、Single License、Runtime License、Enterprise License

根据功能,价格不一

Why do I need a commercial license?

我为何需要一个商业许可证?

The GNU GPL license requires you to publish your completely source code solely under the GNU GPL again. That’s why the alternative commercial licenses exist.

GNU GPL许可证要求你在GNU GPL下,独立的完全公开你的源代码。这就是为什么会存在两种单独的商业许可证。

Read More

[传播]跑题了,关于网络引擎的描述

 跑题了,很轻松的就跑题了, 昨天是goo要一个关于网络部分的描述, 我一下子就去考虑一些结构和模块的划分,甚至是后期如何部署和实施.. 其实,人家只要一个功能和性能的描述。

 

功能:

0. 用户数据处理接口: 提供用户管理数据协议.

1. 网络数据负载平衡:登录验证服务器.会话管理.

2. 游戏数据服务器: 划分为各个子系统服务器(副本/战场/大陆区域)

3. 语音文字服务. 团队语音和文字服务

 

目标:实现高性能的扩展性良好的数据传输架构. 网络引擎部分负责客户端和服务器的数据通讯.根据上层的数据定义

 

 

结构:

LoginServer登录网关,

            登录服务器,负责验证用户的数据, 降低无效数据

 

 

守护进程服务器:

       负责监视业务服务器情况.和动态调度分配在线服务器的处理的优先级别。

       日志管理,提供各个服务器的运行情况的记录

 

游戏服务器:

  业务数据处理引擎

       数据包加密、解密模块,支持常见加密方式.(RSA SSH SSL )

       数据包协议处理:引擎实现常见的数据报文定义,并根据实际游戏定义扩展报文,引擎负责透明传输.由客户端和业务数据服务器按预定义协议解析。

       数据库开发接口:支持常见数据库的连接,数据操作。   

 

  网络通讯引擎客户端接口.API

       此部分为提供给游戏客户端开发人员使用,更专注于游戏逻辑的实现,简化。

       

  服务器通讯引擎.

       消息队列管理:基于内存数据库进行高效的消息报文的处理,

       连接会话管理(支持TCP/IP UDP HTTP):无效会话清理,有效会话的消息匹配,

       消息广播,转播:下发服务器的数据, 转发其他客户端的消息.

       事件发生器:负责生成预定义事件,将事件分发给注册此接口的用户.

       数据处理服务器二次开发接口模块:提供扩展功能和与底层通讯引擎无缝连接。通过事件订阅来进行交互。多线程并发。

 

 

 

地图服务器:

       地图数据处理

       任务数据处理

       副本数据处理

 

关键点: 将底层传输和上层业务分隔开来,通过实现接口完成消息分发的方式  来嵌入各种实际业务的数据处理.
所以此结构还没有涉及到具体的游戏的其他部分,只是包涵了可分布式实施的通讯消息机制. LoginServer GameServer 都是基于这个通讯接口实现的. MapServer 可能会用来处理具体的消息数据.

 

Read More

[翻翻箱底]java的学习计划.

很久前写给朋友的. 翻看一下 自己也要重头开始.

要读的几本书:

基础
《 Java编程思想 》(Thinking in Java)
《 Java编程语言(第三版) 》(The Java Programming Language)
提高
《 Effective Java 》
《 Practical Java 》
《 Java与模式     》

学习步骤
1.java 语法,jdk类结构, 熟悉 I/O,Util,Lang 等语言包和常用工具类的使用: 比如数组/vector/String/使用.
  使用文件(I/O)类库读写数据和文本文件。
  创建和使用Java的GUI组件:Panels、buttons、labels、 text fields、text areas.
  创建独立的Java应用程序,使用框架(frame)和菜 单(menu)类设计Java图形界面应用。
  编写多线程程序。
  应用Socket编写TCP/IP客户端应用。
 
2. jsp + Servlet +jdbc
  html语法,javascript熟悉,
  熟悉servlet的机制和原理,
  编写servlet 和部署  servlet 和 jdbc 操作数据库技术

3. java bean /  ejb
  学习ejb的机制和原理,编写ejb 和进行部署.
  学习基于EJB规范的企业应用架构
  学习J2EE的企业应用编程接口
  学习EJB架构 / 怎样访问EJB /怎样管理安全
  设计和编写Session Bean 和Entity Bean
4. 服务器配置 : tomcat weblogic websphere  
  学习常用的web服务器的配置
 
5. 读两个开源程序 Jive或者Pet Store.
  如Cache、用户认证、Filter、XML等,如何让程序在不同数据库中移植
  多上一些论坛和网站,通过网络学习前人的实际经验,和总结自己的项目经验
  不断提高自己.

Read More