- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用JAVA制作ICQ _计算机论文
用JAVA制作ICQ _计算机论文
分析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)
序号字段名含义数据类型NULL1Icqno用户的号码IntNo2Nickname用户的呢称CharNo3Password用户的密码CharNo4Status用户在线否BitNo5Ip用户的IP地址CharYes6Info用户的资料VarcharYes7Pic用户的头像号IntYes8Sex用户性别CharYes9Email用户的emailCharYes10Place用户的籍贯Charyes其中Icqno字段为自动增加。(其他还可以添加诸如电话号码等字段作为更多选择)(2)用户的好友表(表名friend)
序号字段名含义数据类型NULL1Icqno用户的号码IntNo2Friend好友的号码IntNo3.系统模式及程序(具体程序参看源程序)
1.服务器程序:
服务器与客户间通过套接口Socket(TCP)连接。在java中使用套接口相当简单,Java API为处理套接口的通信提供了一个类.Socket.,使得编写网络应用程序相对容易.服务器采用多线程以满足多用户的请求,通过JDBC与后台数据库连接,并通过创建一个ServerSocket对象来监听来自客户的连接请求,默认端口为8080,然后无限循环调用accept()方法接受客户程序的连接
服务器程序代码如下:(部分)
import java.io.* import .* import java.sql.* import java.util.Vector class ServerThread extends Thread{//继承线程 private Socket socket//定义套接口 private BufferedReader in//定义输入流 private PrintWriter out//定义输出流 int no//定义申请的jicq号码 public ServerThread(Socket s) throws IOException {//线程构造函数 socket=s//取得传递参数 in=new BufferedReader(new InputStreamReader(socket.getInputStream()))//创建输入流 out=new
您可能关注的文档
- 热水网路水力工况的计算及其图形显示_工程建筑论文.doc
- 热水采暖两用炉技术_电子机械论文.doc
- 热泵热水机组在游泳池中的应用_工程建筑论文.doc
- 热电冷联供应用于住宅的经济性分析_工程建筑论文.doc
- 热电热泵干衣机的研制_工程建筑论文.doc
- 热锻模具选材与制造工艺探讨_电子机械论文.doc
- 煤巷锚网索支护顶板事故预防研究_工程建筑论文.doc
- 煤矿工人岗前培训存在的问题及对策_工程建筑论文.doc
- 煤矿机电运输隐患排查_电子机械论文.doc
- 煤矿残煤开采研究_工程建筑论文.doc
- 中国国家标准 GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较.pdf
- 《GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较》.pdf
- 《GB/T 37228-2025安全与韧性 应急管理 突发事件管理指南》.pdf
- GB/T 23724.3-2025起重机 检查 第3部分:塔式起重机.pdf
- 中国国家标准 GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法.pdf
- 《GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法》.pdf
- GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 中国国家标准 GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 《GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射》.pdf
- GB/T 11349.2-2025机械振动与冲击 机械导纳的试验确定 第2部分:用激振器作单点平动激励测量.pdf
最近下载
- “红旗杯”竞赛总题库-4班组长计划管理能力考试题库(附答案).docx VIP
- 物业管理实务练习题物业的承接查验(三).pdf VIP
- 食品配送行业货物运输质量保障措施.docx VIP
- 2025入党积极分子发展对象培训考试试卷题库(含答案).docx VIP
- 地下室金刚砂地坪施工方案.docx VIP
- 2025年公安局警务辅助人员招聘考试笔试试题(附答案).docx VIP
- “红旗杯”竞赛总题库-2班组长成本绩效管理能力考试题库(附答案).docx VIP
- 轨道交通收益权质押价值评估研究--以xx市地铁x号线为例.pdf VIP
- 5. 国威人工智能产业学院建设方案V1.5.pdf VIP
- 中国AIGC应用全景图谱报告.pptx VIP
文档评论(0)