ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:858.41KB ,
资源ID:18741537      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18741537.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于linux的跨平台即时通讯系统系统实现部分文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于linux的跨平台即时通讯系统系统实现部分文档格式.docx

1、1.3 Openfire(服务器) 71.4 Spark(客户端) 71.5 Mysql(数据库) 71.6 Apache(web服务器) 91.7 Java(运行环境) 102 系统实现 102.1 操作系统安装 102.2 Java环境安装 142.3 Openfire安装 142.4 Mysql安装 152.5 Apache安装 162.6 PHP安装 162.7 全局配置 173 结束语 254致谢 265.参考文献 26摘 要当前即时通讯业务正在不断兴起,QQ 的使用已经是相当普遍了。但是在公司内网使用的即时通讯工具软件相对来说还比较少。使用QQ作为通讯公司手段未尝不可,但是因为过程

2、需要经过公网,所以带有一定的不稳定因素。其实,在linux系统下已经有了一套相对成熟的即时通讯系统实现方案,并且具有开源免费及跨平台(Windows,Linux,Mac OS)。所以,在公司内部安装和使用即时通讯软件工具非常有利于提高公司的工作效率,因此,我们致力于够架设出一种集多种功能于一体的应用系统。通过我们架设的应用系统,可以满足公司内部人员多方面交流的需要,使大中型企业的员工能够顺利、即时的进行即时在线交流及发送各种通知、邮件,并进行文件的共享,从而更好、更顺利、高效地工作。由于我们这套系统是在公司内部的服务器中运行的,因此,所有资料都是保存在自己公司内部的服务器中,不但方便查找及管理

3、,而且对公司内部资料也有很好的安全保密作用。关键词:Linux;跨平台;局域网,即时通讯系统实现1 环境1.1.XMPP历史XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线 现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。 XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协 议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化 的核心结果分为两部分;核心的XML流传输协议 基于XML流传输的即时通讯扩展应用 XMPP的核心XML

4、流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台 上。借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮。XMPP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义的,与其他业 已得到广泛使用的即时通讯协议,诸如AIM,QQ等有功能完整,完善等先进性。XMPP的扩展协议Jingle使得其支持语音和视频。Q等有功能完整,完善等先进性。基本网络结构XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器 同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包

5、括SMS(短信),MSN,ICQ等。基本的网 络形式是单客户端通过TCP/IP连 接到单服务器,然后在之上传输XML。如下图,Jabber 网络由若干个服务器组成2,每个服务器可以给众多客户端提供服务,服务器之间通过 Internet 相互连接。该网络中还存在一个网关服务器,负责协议的转换,以和其他的即时消息系统进行互联。功能传输的是与即时通讯相关的指令。在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯 文本指令加空格加参数加换行苻的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。这不但使得解析容易了,也方便了开发和查错。

6、而XMPP的核心部分就是一个在网络上分片断发送XML的流协议。这个流协议是XMPP的即时通讯 指令的传递基础,也是一个非常重要的可以被进一步利用的网络基础协议。所以可以说,XMPP用TCP传的是XML流。1.2 Ubuntu(服务器系统) Ubuntu是2004年9月首次公布的。虽然相对来说Ubuntu是发行较晚的Linux发行版,该项目没有其他linux发行版本早,但是其邮件列表 很快被用户的渴望和热情的开发者讨论所填满。在随后几年中,Ubuntu成长为最流行的桌面Linux发行版,它朝着发展一种“易用和免费”的桌面操作系 统做出了极大的努力和贡献,能够与市场上任何一款个人操作系统相竞争。是

7、什么因素使得Ubuntu取得如此巨大的成功呢?首先,该项目是由Mark Shuttleworth,一位充满魅力的南非富翁,Debian的开发者和前世界第二太空游客所创建(他创建的的 Isle of Man-based Canonical Ltd 公司目前仍然是一个商业项目)。其次,Ubuntu从一开始就从其他类似Linux发行计划的失败中吸取教训并避免重蹈他们的错误, 它创造了一个优秀的以网络为基础的Wiki风格的文档,用专业的方法为最终用户创建了错误报告反馈机制。第三,得益于其富裕的创始人,Ubuntu 能够给所有互联网上感兴趣的用户发放免费 CD,从而促进了Ubuntu发行版的迅速扩大。在

8、技术方面,Ubuntu是基于Debian的发行版,包含一些著名的软件包,如GNOME,Firefox和OpenOffice.org其最新 版本的更新。它有一个可预测的每6个月发布的时间表,有时发布有长期技术支持的LTS版,一般为3 5年的安全更新支持,这取决于版本(非LTS版的技术支持期为18个月)的支持。 Ubuntu的其他特殊功能还包括一个可安装的live CD,美术创作和桌面主题,Windows用户迁移助手,支持最新新的技术,如3D桌面效果,易于安装的ATi和NVIDIA显卡驱动以及无线设备驱动的 支持等,并按需支持非免费或专利授权的媒体编解码器。主页:来源: 马恩岛(位于英格兰岛和爱尔

9、兰岛之间) Isle of Man桌面: GNOME类型: Beginners, Desktop, Server, Live Medium, Netbooks处理器架构: i386, powerpc, sparc64, x86_64基于何种发行: Debian优点:固定的发布周期和支持期限;易于初学者学习;丰富的文档,包括官方和用户贡献的。缺点:缺乏与Debian的兼容性软件包管理:高级包管理工具(APT)的使用deb包这里我采用的是Ubuntu Server 9.101.3 Openfire(服务器)Openfire(原来的Wildfire)是一个跨平台(支持WINDOWS、LINUX、MA

10、C平台),采用Java开发,一个在开源 GPL 和商业双许可的实时协作(RTC)服务器基于XMPP(Jabber)协议。 Openfire安装和使用都非常简单,并利用Web进行管理,而且还有非常高的安全性和性能。单台服务器可支持上万并发用户。同时通过插件,可以在客户端登录 MSN,Yahoo,ICQ等即时通讯平台。这里我们使用的版本是Openfire 3.5.1,linux版本1.4 Spark(客户端)Spark是一个开放源码,跨平台专为企业和组织等客户的优化的IM客户端软件。它的特性支持集组聊天,电话集成的功能和强大的安全性。它还提供了整个卓越的终端用户体验的功能,如在线拼写校验,聊天室标

11、签、交谈记录等。由于业界上有所共识,如果企业内部部署IM使用Openfire+Spark是最佳的组合,于是我决定采用Spark作为客户端。这里我使用的版本是Spark 2.5.8,Windows版本1.5 Mysql(数据库)简介MySQL图标MySQL 最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:mSQL并没有他们需要 的那么快和灵活。这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于 mSQL而写的第三方代码更容易移植到MySQL。MySQL

12、这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有 10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的

13、Arusha的一个小镇的名字。MySQL的概述MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前 MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网 站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:MySQL的特性1.使用C和C+编写,并使用了多种编译器进行测 试,保证源代码的可移植性 2.支持AIX、FreeBSD

14、、HP-UX、Linux、 Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 3.为多种编程语言提供了API。这些编程语言包括C、C+、Python、 Java、Perl、PHP、 Eiffel、Ruby和Tcl等。4.支持多线程,充分利用CPU资源 5.优化的SQL查询算法,有效地提高查询速度 6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其 他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名 7.提供T

15、CP/IP、ODBC和JDBC等多种数据库连接途径 8.提供用于管理、检查、优化数据库操作的管理工具 9.可以处理拥有上千万条记录的大型数据库MySQL的应用与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰 绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是 LAMP(Linux+Apache+MySQL+

16、PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据 库,PHP作为服务器端脚本解释器。由于这四个软件都是自由或开放源码软件(FLOSS),因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。1.6 Apache(web服务器)Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、

17、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。 Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如A、 Yahoo!、W3 Consortium

18、、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、 Linux系统平台上)以及它的可移植性等方面。Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。Apache web服务器软件拥有以下特性:支持最新的HTTP/1.1通信协议拥有简单而强

19、有力的基于文件的配置过程支持通用网关接口支持基于IP和基于域名的虚拟主机支持多种方式的HTTP认证集成Perl处理模块集成代理服务器模块支持实时监视服务器状态和定制服务器日志支持服务器端包含指令(SSI)支持安全Socket层(SSL)提供用户会话过程的跟踪支持FastCGI通过第三方模块可以支持Java Servlets 1.7 Java(运行环境)是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Ja

20、va被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。2 系统实现2.1 操作系统安装1、启动将电脑的 BIOS 设定成用 CD-ROM 开机,并将 Ubuntu Server 光盘放入光驱启动。可以看到 Ubuntu 启动画面,这时,我们可以先选择接口语言。这里选择“中文简体”,自然会看到以下的 Ubuntu 开机画面:2、选择语言选择“简体中文”3、选择所在地区为方便操作,选择中国。4、选择键盘类型安装程序首先会询问我们是否需要侦测键盘排列。如果选择是(Yes) ,安装程序会问我们一连串问题以判断键盘的排列属于哪种。我们使用美式英语(U.S. English

21、)键盘排列,所以选不(No) ,然后再自行选择键盘排列会比较直接方便。5、加载安装程序组件先探测并挂载CD-ROM,并从安装光盘加载安装程序组件。6、配置网络设备7、设定主机名称8、设置时钟安装程序会根据您之前设定所在地区的选择自动从网络时间服务器读取时间。9、硬盘分区和格式化由于硬盘上的资料仍然有用,我们选择手动 (Manual) 自行分割硬盘。Linux 是多使用用户的操作系统,一台 Linux 可以容许多个使用者同时使用。为方便管理每一个使用者的档案和资源,每个使用者都有自己的使用使帐户(user account)及密码(password)。Ubuntu 会先要求您输入Ubunut第一个

22、管理者的资料和密码。11、配置网络12、选择并安装软件此时 Ubuntu 服务器版提供12个软件组合,利用方向键与空格键选好软件组合后,按继续(Continue) 开始安装软件。13、安装启动引导器(GRUB),然后结束并安装进程,重启电脑即可。2.2 Java环境安装root test # cp jre-6u6-linux-i586.bin /usr/localroot test # cd /usr/localroot test local # ls l | grep jre -rwxr-r- 1 root root 19750740 6月 28 11:14 jre-6u6-linux-i5

23、86.binroot test local # ./jre-6u6-linux-i586.bin此时将显示二进制许可协议。通读许可协议。按空格键显示下一页。读完许可协议后,输入 yes 继续安装。JRE 安装在其自身的目录中。在本例中,它将安装在 /usr/local/jre1.6.0_6 目录中。当安装完成时,您将看到 Done(完成)字样。roottestlocal#ln ls/usr/local/jre1.6.0_6/plugins/i386/ns7/libjavaplugin_oji.so /usr/lib/firefox-1.0.4/plugins/2.3 Openfire安装解压o

24、penfire_3_5_1.tar.gz$sudo tar -zxvf openfire_3_5_1.tar.gz移动openfire目录至/opt/下$sudo mv openfire /opt/$cd /opt/opnfire/bin/运行 bin 目录的 openfire$sudo ./openfire start2.4 Mysql安装使用 mysql 来作为 Openfire服务器使用的数据库,但这并不是必须的,因为 Openfire 本身内置有数据库,你可以选择使用 Openfire 内置的数据库,也可以使用外置数据数据库。root test local # tar xzvf /ro

25、ot/mysql-5.0.51a-linux-i686.tar.gzroot test local # ln s mysql-5.0.51a-linux-i686 mysqlroot test local # cd mysqlroot test mysql # mv /etc/f /etc/f.bakroot test mysql # cp support-files/my-f /etc/froot test mysql # chown R mysql .root test mysql # chgrp R mysql .root test mysql # ./scripts/mysql_ins

26、tall_db -user=mysql &root test mysql #chown R root .root test mysql # chown R mysql dataroot test mysql #./bin/mysqld_safe -user=mysql &root test mysql # netstat tlunp | grep 3306root test mysql # cp support-files/mysql.server /etc/rc.d/init.d/mysqldroot test mysql # chmod 755 /etc/init.d/mysqldroot

27、 test mysql # chkconfig add mysqldroot test mysql # chkconfig level 35 mysqld onroot test mysql # mkdir /usr/local/mysql/lib/mysqlroot test mysql # mkdir /usr/local/mysql/include/mysqlroot test mysql # chown root.mysql /usr/local/mysql/lib/mysqlroot test mysql # chwon root.mysql /usr/local/mysql/inc

28、lude/mysqlroot test mysql # ln s /usr/local/mysql/lib/* /usr/local/mysql/lib/mysqlroot test mysql # ln s /usr/local/mysql/include/* /usr/local/mysql/include/mysqlroot test mysql # echo “/usr/local/mysql/lib/mysql” /etc/ld.so.confroot test mysql # ldconfig2.5 Apache安装root test mysql # cd .root test local # tar xzvf /root/httpd-2.2.6.tar.gzroot test mysql # cd httpd-2.2.6root test httpd-2.2.6 # ./configure prefix=/usr/local/apache -enable-so -enable-rewriteroot test httpd-2.2.6 # makeroot test httpd-2.2.6 # make installroot test httpd-2.2.6 # echo “/usr/local/apa

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1