Java网络通信对ICQ的实现

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:t739155593
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着计算机技术的发展越来越快,人们对计算机功能的要求也越来越高,都希望有一种比较方便的网络通信工具的出现。直到1996年7月,互联网上最出名,下载使用人数最多的免费软件ICQ诞生了。这个ICQ起源于以色列特拉维夫的Mirabils公司。可能是其不断增加的用户和广阔的前景以及广泛的应用前景和巨大的市场潜力,Mirabils的ICQ最终被美国在线AOL收购。由于ICQ的成功,推动了ICQ的本土化,就中文的ICQ而言,现在已经越来越多,比如著名的深圳腾迅公司推出的OICQ,还有由TOM.COM推出的Tomq等,这些软件技术都很好,而且简单易用,成为中国网民最喜欢的通信软件。其中使用最多的是腾讯公司推出的OICQ,我们大学生几乎人手一个,风靡全国。
  ICQ是英文“I seek you”的简称,中文意思是我找你。ICQ最大的功能就是即时信息交流,只要把对方加为好友,上网时可以呼他,无论他在哪里,只要他上网打开ICQ,人们就可以随时交流。简单的说,就是点对点的网络聊天系统。该ICQ系统利用网络传输协议、后台数据库完成了客户端与服务器端、客户端与客户端的网络通信,最终为客户的各个领域提供了完美的集成,使得本系统可以更低成本、更高效率地满足用户的需求,从而可以最大程度的提高用户的满意度,挽回失去的用户,保留现有的用户,不断发展新的用户,发掘并牢牢地把住带来最大价值的用户群。
  关键词:ICQ;java;网络通信
  中图分类号:TP393.092文献标识码:A文章编号:1007-9599 (2013) 06-0000-02
  计算机越来越成为我们生活中的重要工具。计算机可以用来写信、听音乐、看电视、通过可视电话进行通信,通过Internet网进行信息查询、网上购物等。计算机正在改变我们的通信、工作和娱乐的方式。
  聊天是Internet中广泛应用的服务之一,ICQ是一种端到端的即使通信聊天系统,用户可以在安装的客户端的帮助下同朋友家人实现无延时的即时通讯效果。要实现这种效果,需要借助现在存在的遍布的Internet网络,用现在通用网络层,传输层通讯协议TCP/IP实现。另外要实现客户端和服务器端的正确交互和识别,还需要开发一种简单的应用层协议。目前主流的编程语言对TCP/IP协议都有强大的支持,具体java实现ICQ需要借助SUN公司提供的开发工具集JDK中的net包提供对JavaSocket的支持。
  系统采用注册登录模式,需要服务器端采用数据库保存用户注册登录信息,系统采用开源的中小型网络通用数据库MYSQL提供支持。利用JDBC借助MYSQL对java支持包,提供Java对数据库的支持。
  系统采用通用的C/S系统,要客户端保持和服务器端的连接,并有服务器端转发或处理用户请求。考虑系统的实用性,系统采用Java TCP的连接类ServerSocket和Socket类,有客户端发起连接,服务器端不断监听,当用用户连接是立马有主控线程开启一个分线程保持和客户端的连接。
  系统采用通用的C/S结构,即Client/Server(客户端/服务器)结构,C/S是传统意义上的拥有客户端和服务器端的网络软件和系统。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。
  这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。使用计算机的人是计算机的“用户”(User)而不是“客户”(Client)。但在许多国外文献中,也经常把运行客户程序的机器称为Client(这种情况下也可把Client译为“客户机”),把运行服务器程序的机器称为Server。所以有时要根据上下文判断Client与Server是指软件还是硬件。
  它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
  Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:语言简单、语言是一个面向对象的、语言是分布式的、语言是健壮的(对指针的丢弃是Java的明智选择)、语言是安全的、语言是体系结构中立的、语言是可移植的(Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。)、语言是解释型的、高性能的、多线程的和动态的。
  Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
  Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、寄存器、堆栈等,还具有相应的指令系统。
  Java语言的一个非常重要的特点是平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
  Java虚拟机是Java语言底层实现的基础,了解它有助于理解Java语言的一些性质,也有助于使用Java语言。对于要在特定平台上实现Java虚拟机的软件人员,Java语言的编译器作者以及要用硬件芯片实现Java虚拟机的人来说,则必须深刻理解Java虚拟机的规范。另外,如果你想扩展Java语言,或是把其它语言编译成Java语言的字节码,你也需要深入地了解Java虚拟机。
  JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了很大的提高。
  Jdk常用包有java.lang、java.io、java.net、ava.util、java.sql和javax.servlet等类。
  Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。
  通常ICQ为了满足用户需求,需要提供登录注册,实现用户资料的管理、查找好友、添加删除好友及基本的聊天功能。系统必须保证可靠的网络通信,大量用户的并发访问,及对用户基本信息的管理等功能。
  近年来,随着市场与技术的不断发展,无论是个人还是企业等组织机构,对沟通的需求也在不断发展,传统的电话、传真、邮件等沟通方式显然已无法满足当今人们工作和生活沟通的需要。随着软件、网络和通讯三大现代信息技术的发展,在沟通、协作方面有着更多方便、快捷、实时等优势的即时通讯(IM),成为继电话、E-Mail之后又一个完全融入每个人生活的互联网工具。它所拥有的实时性、跨平台性、成本低、效率高等诸多优势,成为网民们最喜爱的沟通方式。
  参考文献:
  [1]Eric.Java编程思想[M].第四版.机械工业出版社.
  [2](美)希尔德.JAVA参考大全(J2SE 5 Edition)[M].清华大学出版社.1900,1.
  [3]http://v.youku.com/v_show/id_XNTQ3OTg5ODg4.html.
  
其他文献
目的探讨CD20~+多发性骨髓瘤的发病情况、临床特点及治疗选择。方法回顾性分析2012年1月至2014年12月在北京大学第三医院确诊的CD20~+多发性骨髓瘤患者资料。结果共确诊143例多
当前中职学校计算机专业教学的主要目标之一是改变传统教学模式,培养学生的实践能力,采用项目教学法能够提高学生分析问题和解决问题的能力。本文结合教学实践,阐述项目教学
如今,服务器虚拟化技术已经广泛地运用到各种微客户机提供资源的监控操作当中,为人们的工作生活带来了很大的便利,同时具备了访问、追踪以及审计的安全功能,可以采用多种计算机技
学校档案工作是一项复杂且系统的工作,学校档案的发展与建设受多种因素制约,这当中最重要、最关键也是发挥主导作用的因素就是人,即学校档案工作人员。因此,要想提高学校档案
高职合格人才培养有赖于科学教育与人文教育的兼顾和平衡,公共基础课在高职人才素质培养上具有专业技能课无法替代的人文教育作用。本文从分析高职公共基础课改革入手,提出了
图像如何上传给服务器,服务器端如何对图像进行存取,以及在数据库环境下图像的处理,这些都是我们在开发时经常遇到的问题。利用ASP,则可以得到一种较好的解决方案。
【正】 我校中文系讲师黄刚编著的《张维屏诗文选注》一书,将由华东师大出版社于今年年底出版。张维屏是我国近代著名爱国诗人,其反映近代中国人民反侵略斗争的《三元里》等
【正】 上海高等学校学报研究会于一九八六年三月二十八日正式成立。自党的十一届三中全会以来,上海高等学校学报工作取得了可喜的成绩,目前全市已有学报32家。这些刊物是反
【正】 人类因为寂寞发明了网络,人类因为网络而变得更加寂寞。人类的倾向是扩张性,我们需要交流,所以我们发明了语言。当我们局促于一村一落时,我们并不感到自己有多么孤单
0引言骨髓纤维化(myelofibrosis,MF)是一种骨髓增殖性肿瘤(myeloproliferative neoplasms,MPNs),包括原发性骨髓纤维化(primary myelofibrosis,PMF)和继发性骨髓纤维化,PMF预后差。