分析icq系统,并尝试用java编写。
一.序言
icq是英文"i seek you "的简称,中文意思是我找你。icq最大的功能就是即时信息交流,只要记得对方的号码,上网时可以呼他,无论他在哪里,只要他上网打开icq,人们就可以随时交流。icq源于以色列特拉维夫的mirabils公司。该公司成立于1996年7月,也就是在这个时候,互联网上最出名,下载使用人数最多的免费软件icq诞生了。可能是其不断增加的用户和广阔的前景以及广泛的应用前景和巨大的市场潜力,mirabils的icq最终被美国在线aol收购。由于icq的成功,推动了icq的本土化,就中文的icq而言,现在已经越来越多,比如著名的深圳腾迅公司推出的oicq(现在由于版权问题,已改名为qq2001),还有由tom.com推出的tomq等,这些软件技术都很好,而且简单易用,成为中国网民最喜欢的通信软件。
但是这些公司都只提供软件的客户端程序免费下载,而不提供其服务器程序,因此对于未与互联网连接的私有网络,这些软件就用不上了。当然网上也有免费的类似icq的服务器提供下载,但是好多都不提供源程序,即使有,其说明也很简单,我很想知道它是怎么回事,所以我就试着做了。
二.设计
1.为什么选择java?
java是sun microsystem公司的james gosling开发的编程语言。它以c++为基础,但是却是一个全新的软件开发语言。java是一个简单,面象对象,分布式,解释性,强壮,安全,与系统无关,可移植,高性能,多线程和动态的语言-------这是 sun给java的定义。
sun公司的口号就是"网络就是计算机",java能使所有东西从桌面计算平稳的转变为基于网络的计算,它是专门为此而建立的,并显然是为了完成这个任务而来的。使用java,我们可以相对轻松的一天编写一个有条理的网络程序。今天,java的网络功能正在飞跃发展,不断有新的特性增加到这个有价值的基础上,javasoft实验室正在不断努力使java更加完善。
2.数据库设计
系统可以采用任何一种流行的,java支持的数据库,本系统采用了microsoft公司的sql server2000作为后台数据库。通过对现在流行的一些icq的参考,建立数据库,名为javaicq,数据库共建立两个表,一个是用户的基本信息,包括呢称,jicq号码等。一个是用户的好友表,包括用户自己的号码和好友的号码。
(1)用户的基本信息表(表名icq)
序号
字段名
含义
数据类型
null
1
icqno
用户的号码
int
no
2
nickname
用户的呢称
char
no
3
password
用户的密码
char
no
4
status
用户在线否
bit
no
5
ip
用户的ip地址
char
yes
6
info
用户的资料
varchar
yes
7
pic
用户的头像号
int
yes
8
sex
用户性别
char
yes
9
email
用户的email
char
yes
10
place
用户的籍贯
char
yes其中icqno字段为自动增加。(其他还可以添加诸如