JAVA多服务器通讯框架-聊天功能演示程序 V0.1 alpha
JAVA多服务器通讯框架-聊天功能演示程序 V0.1 alpha
2012 瞿正峰版权所有,保留所有权利
中国 杭州
一、概述
JAVA多服务器通讯框架是基于NIO开发的Socket通讯框架,实现了客户端和服务器,服务器与服务器之间的通讯功能,适合应用于大型聊天服务器,大型游戏服务器。
本演示程序实现了一个基本的命令行聊天功能,以演示基本的通过socket发送游戏指令或聊天消息的能力。
二、使用方法
1、注册
命令格式: reg 用户名 密码
例如:
>reg lions 123456
2、登录
命令格式: login 用户名 密码
例如:
>login lions 123456
3、列表
命令格式: list
例如:
>list
4、发送
命令格式: send 对方用户名 消息
例如:
>send user hello
5、退出
命令格式: logout
例如:
>logout
三、安装
1、下载ChatDemo.zip
2、解压缩到目录中
3、运行sql脚本,建立数据库,默认数据库名为:account,数据表名为:account,用户名为:root 密码为:123456
4、启动服务器,执行bat文件,按以下顺序启动服务器:GlobalServer, RecordServer, SessionServer, GatewayServer, AccountServer. 必须按此顺序,不能搞错,否则全部关闭重启,演示程序默认IP为127.0.0.1,端口为2000~2007.
5、启动客户端,运行client.bat,可以运行多个客户端,出现提示行,就可以输入命令了。第一次执行命令要多等一会,之后执行就快了,这个原因做JAVA的都懂。
有问题可在博客留言,也可以加我QQ 191506998,有需要代码的,可与我联系,价格面议!
chinalions 2012.3
一个简易的可自定义词库的翻译软件
简单实现了一个翻译软件所具有的功能.
运行MyDict,进入命令状态。
1.增加词条
>add apple 名词 苹果
add 为命令关键词
apple 为要翻译的单词
名词 为词性分类
苹果 为对应的解释,可以多个,用空格分隔
2. 删除词条
>remove apple
>remove apple 名词
删除apple对应的所有词条
删除apple下为名词的词条
3.更新词条
>add apple 名词 apple
使用add命令可直接更新
4.查询词条
>search apple
查询apple的所有解释
5.list
>list
查看所有词条
F1Engine v0.1 alpha
F1Engine V0.1 alpha
2011 瞿正峰版权所有,保留所有权利
中国 上海
一、概述
F1Engine V0.1 alpha版本是我用晚上的业余时间写的一个java文件操作组件,目前只是在原型的测试阶段。
主要的设计目标是:简单方便
可以方便地加到应用中,可以满足日常应用中的大部分应用场景。
二、使用方法
1、引擎
F1Engine.getInstance().setRoot("\\data\\"); //设置操作根目录
F1Engine.getInstance().start(); //启动
...
F1Engine.getInstance().stop(); //关闭
2、目录
F1Dir dir = new F1Dir("test"); //创建目录对象
if(dir.exists()){} //判断是否存在
...
3、文件
F1Doc doc = new F1Doc("test.txt"); //创建文件对象
或者
F1Dir dir = new F1Dir("\\test\\temp\\hello");
F1Doc doc = new F1Doc(dir, "test2.txt");
if(doc.exists()){} //判断是否存在
...
4、读
F1Doc doc = new F1Doc("test.txt");
F1SyncReader reader = new F1SyncReader(doc);
if(reader.open()) {
long offset = 100;
int length = 1024;
byte[] bytes = reader.read(offset, length);
reader.close();
}
5、写
F1Doc doc = new F1Doc("test.txt");
F1SyncWriter writer = new F1SyncWriter(doc);
if(writer.open()) {
long offset = 100;
byte bytes[] = new byte[1024];
writer.write(offset, bytes);
writer.close();
}
三、API接口
1、目录操作(F1Dir)
public boolean exists();
public boolean create();
public boolean remove();
public boolean rename(String destDir);
public boolean move(String destDir);
public F1DirInfo getInfo();
public String[] listDirs();
public String[] listFiles();
2、文件操作(F1Doc)
public boolean exists();
public boolean create();
public boolean remove();
public boolean rename(String destFile);
public boolean move(String destFile);
public boolean copy(String destFile);
public boolean resize(long size);
public long getLength();
public F1FileInfo getInfo();
3、读(F1SyncReader)
public boolean open();
public boolean close();
public byte[] read(long offset, int length);
4、写(F1SyncWriter)
public boolean open();
public boolean close();
public boolean write(long offset, byte[] bytes);
分步式主键发生器,适合分布式应用的id唯一性
基于java的分布式主键发生器,使用ice通讯,实现从单服务器到多层的大规模主键发生器,可以保持ID的唯一性.
用java写的MyDB数据库管理器演示程序
一、介绍
MyDB是我在2009年12月底开始动手写作的,是一个纯java写的数据库管理器,目前只是一个实现基本功能的演示性框架,用来验证功能的可实现性。
整个应用包括三个部分,数据库服务器,数据库客户端,数据库驱动。目前这三部分已经都实现,但功能还不完整。
运行目录下的脚本,可以启动相应程序:
启动服务器:
server.bat
相应命令:java -classpath ./lib/mydb.jar;./lib/antlr-3.2.jar;./lib/commons-beanutils.jar;./lib/commons-collections.jar;./lib/commons-digester.jar;./lib/commons-pool.jar;./lib/metouia.jar;./lib/QSAdminGUI.jar;./lib/QuickServer.jar lions.mydb.server.Server
启动客户端:
client.bat
相应命令:java -classpath ./lib/mydb.jar;./lib/antlr-3.2.jar lions.mydb.client.Client
驱动:
使用方法:
Class.forName("lions.mydb.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mydb://localhost:3305/test", "", "");
Statement stmt = conn.createStatement();
//ResultSet rs = stmt.executeQuery("select * from test");
目前实现了以下几条基本指令:
create database
use
drop database
show databases
create table
drop table
show tables
select * from
insert into () values()
delete from
由于sql的完整规范比较复杂,要实现它需要日后不断地添加。目前感觉sql经常用到的也就几条,所以有想法对sql进行精减,只实现最常用的那几条,
同时增加一些方便日常操作的指令。
整个MyDB的开发时间都是我利用晚上22点到2点之间,以及周末的空余时间来进行的,因此进展缓慢,且效率不高。
计划在3年内将其实现完整,可以应用于实际生产环境。
MyDB采用的是纯java的技术实现,网络通讯部分,服务器使用了QuickServer框架,驱动使用的是常规的Socket技术,使用了antlr来解析sql语句,
数据库的业务处理部分是我自己写的,为了实现日后的功能,还需要做一定的细节调整。
二、版权声明
MyDB是本人在2009年底开始独立开发的应用,纯粹使用了自己投资的硬件,以及利用了自己的业余时间来进行开发的,本人拥有独立的全部的所有权,
除使用到的部分开源组件外,本人对MyDB保留所有权利,与其他公司无关,即使有功能相同的程序,也是本人独立实现的不同代码。其中使用到的组件
有:QuickServer, antlr。
任何人不得对MyDB进行反编译等逆向工程。
任何人不得将MyDB应用到未经允许的环境。
三、免责声明
MyDB目前功能还不完整,只提供用于研究,对于在应用中出现的任何问题,本人不承担任何责任。
2010年2月7日
瞿正峰
qq: 191506998
email: chinalions@sohu.com
上海
AtomikosTransactionsEssentials-3.5.9
AtomikosTransactionsEssentials-3.5.9.zip
分布式事务管理器 3.5.9
spring-security-samples-contacts-2.0.4
spring security的官方例子contacts,自己修改的mysql版本
JAVA视频教程(四) - UML-gonxi
JAVA视频教程(四) - UML
http://blog.csdn.net/gonxi/archive/2006/02/20/603466.aspx
JAVA视频教程(三) - Plugin & RCP开发-gonxi
JAVA视频教程(三) - Plugin & RCP开发
http://blog.csdn.net/gonxi/archive/2006/02/12/597312.aspx
JAVA视频教程(二) - GUI应用程序开发-gonxi
JAVA视频教程(二) - GUI应用程序开发
http://blog.csdn.net/gonxi/archive/2006/02/08/594743.aspx
JAVA视频教程(一) - 开发环境安装指南-gonxi
JAVA视频教程(一) - 开发环境安装指南
http://blog.csdn.net/gonxi/archive/2006/02/01/590630.aspx
JAVA视频教程(一)-gonxi
JAVA视频教程 gonxi
blog.csdn.net/gonxi