基于linux的跨平台即时通讯系统.doc_第1页
基于linux的跨平台即时通讯系统.doc_第2页
基于linux的跨平台即时通讯系统.doc_第3页
基于linux的跨平台即时通讯系统.doc_第4页
基于linux的跨平台即时通讯系统.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文题目:基于linux的跨平台即时通讯系统(系统实现部分)英文题目:Linux-based cross-platform instant messaging system(System Implementation)目录1 环境41.1.XMPP41.2 Ubuntu(服务器系统)61.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作为通讯公司手段未尝不可,但是因为过程需要经过公网,所以带有一定的不稳定因素。其实,在linux系统下已经有了一套相对成熟的即时通讯系统实现方案,并且具有开源免费及跨平台(Windows,Linux,Mac OS)。所以,在公司内部安装和使用即时通讯软件工具非常有利于提高公司的工作效率,因此,我们致力于够架设出一种集多种功能于一体的应用系统。通过我们架设的应用系统,可以满足公司内部人员多方面交流的需要,使大中型企业的员工能够顺利、即时的进行即时在线交流及发送各种通知、邮件,并进行文件的共享,从而更好、更顺利、高效地工作。由于我们这套系统是在公司内部的服务器中运行的,因此,所有资料都是保存在自己公司内部的服务器中,不但方便查找及管理,而且对公司内部资料也有很好的安全保密作用。关键词:Linux;跨平台;局域网,即时通讯系统实现1 环境1.1.XMPP历史XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线 现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。 XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协 议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化 的核心结果分为两部分; 核心的XML流传输协议 基于XML流传输的即时通讯扩展应用 XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台 上。借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮。 XMPP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义的,与其他业 已得到广泛使用的即时通讯协议,诸如AIM,QQ等有功能完整,完善等先进性。 XMPP的扩展协议Jingle使得其支持语音和视频。Q等有功能完整,完善等先进性。 XMPP的扩展协议Jingle使得其支持语音和视频。基本网络结构XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器 同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网 络形式是单客户端通过TCP/IP连 接到单服务器,然后在之上传输XML。如下图,Jabber 网络由若干个服务器组成2,每个服务器可以给众多客户端提供服务,服务器之间通过 Internet 相互连接。该网络中还存在一个网关服务器,负责协议的转换,以和其他的即时消息系统进行互联。功能传输的是与即时通讯相关的指令。在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯 文本指令加空格加参数加换行苻的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。这不但使得解析容易了,也方便了开发和查错。而XMPP的核心部分就是一个在网络上分片断发送XML的流协议。这个流协议是XMPP的即时通讯 指令的传递基础,也是一个非常重要的可以被进一步利用的网络基础协议。所以可以说,XMPP用TCP传的是XML流。1.2 Ubuntu(服务器系统) Ubuntu是2004年9月首次公布的。虽然相对来说Ubuntu是发行较晚的Linux发行版,该项目没有其他linux发行版本早,但是其邮件列表 很快被用户的渴望和热情的开发者讨论所填满。在随后几年中,Ubuntu成长为最流行的桌面Linux发行版,它朝着发展一种“易用和免费”的桌面操作系 统做出了极大的努力和贡献,能够与市场上任何一款个人操作系统相竞争。是什么因素使得Ubuntu取得如此巨大的成功呢?首先,该项目是由Mark Shuttleworth,一位充满魅力的南非富翁,Debian的开发者和前世界第二太空游客所创建(他创建的的 Isle of Man-based Canonical Ltd 公司目前仍然是一个商业项目)。其次,Ubuntu从一开始就从其他类似Linux发行计划的失败中吸取教训并避免重蹈他们的错误, 它创造了一个优秀的以网络为基础的Wiki风格的文档,用专业的方法为最终用户创建了错误报告反馈机制。第三,得益于其富裕的创始人,Ubuntu 能够给所有互联网上感兴趣的用户发放免费 CD,从而促进了Ubuntu发行版的迅速扩大。在技术方面,Ubuntu是基于Debian的发行版,包含一些著名的软件包,如GNOME,Firefox和OpenO其最新 版本的更新。它有一个可预测的每6个月发布的时间表,有时发布有长期技术支持的LTS版,一般为3 5年的安全更新支持,这取决于版本(非LTS版的技术支持期为18个月)的支持。 Ubuntu的其他特殊功能还包括一个可安装的live CD,美术创作和桌面主题,Windows用户迁移助手,支持最新新的技术,如3D桌面效果,易于安装的ATi和NVIDIA显卡驱动以及无线设备驱动的 支持等,并按需支持非免费或专利授权的媒体编解码器。主页: /来源: 马恩岛(位于英格兰岛和爱尔兰岛之间) 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、MAC平台),采用Java开发,一个在开源 GPL 和商业双许可的实时协作(RTC)服务器基于XMPP(Jabber)协议。 Openfire安装和使用都非常简单,并利用Web进行管理,而且还有非常高的安全性和性能。单台服务器可支持上万并发用户。同时通过插件,可以在客户端登录 MSN,Yahoo,ICQ等即时通讯平台。这里我们使用的版本是Openfire 3.5.1,linux版本1.4 Spark(客户端)Spark是一个开放源码,跨平台专为企业和组织等客户的优化的IM客户端软件。它的特性支持集组聊天,电话集成的功能和强大的安全性。它还提供了整个卓越的终端用户体验的功能,如在线拼写校验,聊天室标签、交谈记录等。由于业界上有所共识,如果企业内部部署IM使用Openfire+Spark是最佳的组合,于是我决定采用Spark作为客户端。这里我使用的版本是Spark 2.5.8,Windows版本1.5 Mysql(数据库)简介MySQL图标MySQL 最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:mSQL并没有他们需要 的那么快和灵活。这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于 mSQL而写的第三方代码更容易移植到MySQL。 MySQL这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有 10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。 MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的 Arusha的一个小镇的名字。MySQL的概述MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前 MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网 站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:MySQL的特性1.使用C和C+编写,并使用了多种编译器进行测 试,保证源代码的可移植性 2.支持AIX、FreeBSD、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.提供TCP/IP、ODBC和JDBC等多种数据库连接途径 8.提供用于管理、检查、优化数据库操作的管理工具 9.可以处理拥有上千万条记录的大型数据库MySQL的应用与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰 绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。 目前Internet上流行的网站构架方式是 LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据 库,PHP作为服务器端脚本解释器。由于这四个软件都是自由或开放源码软件(FLOSS),因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。1.6 Apache(web服务器)Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。 Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如A、 Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、 Linux系统平台上)以及它的可移植性等方面。Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。Apache web服务器软件拥有以下特性:支持最新的HTTP/1.1通信协议拥有简单而强有力的基于文件的配置过程支持通用网关接口支持基于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计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。2 系统实现2.1 操作系统安装1、启动将电脑的 BIOS 设定成用 CD-ROM 开机,并将 Ubuntu Server 光盘放入光驱启动。可以看到 Ubuntu 启动画面,这时,我们可以先选择接口语言。这里选择“中文简体”,自然会看到以下的 Ubuntu 开机画面:2、选择语言选择“简体中文”3、选择所在地区为方便操作,选择中国。4、选择键盘类型安装程序首先会询问我们是否需要侦测键盘排列。如果选择是(Yes) ,安装程序会问我们一连串问题以判断键盘的排列属于哪种。我们使用美式英语(U.S. English)键盘排列,所以选不(No) ,然后再自行选择键盘排列会比较直接方便。5、加载安装程序组件先探测并挂载CD-ROM,并从安装光盘加载安装程序组件。6、配置网络设备7、设定主机名称8、设置时钟安装程序会根据您之前设定所在地区的选择自动从网络时间服务器读取时间。9、硬盘分区和格式化由于硬盘上的资料仍然有用,我们选择手动 (Manual) 自行分割硬盘。Linux 是多使用用户的操作系统,一台 Linux 可以容许多个使用者同时使用。为方便管理每一个使用者的档案和资源,每个使用者都有自己的使用使帐户(user account)及密码(password)。Ubuntu 会先要求您输入Ubunut第一个管理者的资料和密码。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-i586.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安装解压openfire_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 /root/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/f /etc/froot test mysql # chown R mysql .root test mysql # chgrp R mysql .root test mysql # ./scripts/mysql_install_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 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/include/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/apache/bin/apachectl start” /etc/rc.local2.6 PHP安装安装php-5.2.3root test httpd-2.2.6 # cd .root test local # tar -zvxf /root/php-5.2.6.tar.gzroot test local # mkdir -p /usr/local/phproot test local # cd php-5.2.6root test php-5.2.6 # ./configure prefix=/usr/local/php with-apxs2=/usr/local/apache/bin/apxs with-mysql=/usr/local/mysql with-mysqli=/usr/local/mysql/bin/mysql_config with-xml with-png with-jpeg with-zlib with-freetype with-gd enable-track-vars enable-mbstring=allroot test php-5.2.6 # makeroot test php-5.2.6 # make installroot test php-5.2.6 # cp php.ini-dist /usr/local/php/lib/php.ini2.7 全局配置编辑apache配置文件httpd.conf,以apache支持phproot test php-5.2.6 # vi /usr/local/apache/conf/httpd.conf# 添加如下二行 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps# 定位至DirectoryIndex index.html 修改为: DirectoryIndex index.php index.html# 这里将网站根目录指定到/var/www:找到DocumentRoot “/usr/local/apache/htdocs”修改为:DocumentRoot “/var/www”找到修改为:在 mysql 中建立数据库 openfireroot test php-5.2.6 # /usr/local/mysql/bin/mysqlmysql CREATE DATABASE openfire;mysql exit;将 Openfire 的数据库资料导入 mysqlroot test php-5.2.6 # cat /usr/local/openfire/resource/database/openfire_mysql.sql | /usr/local/mysql/bin/mysql openfire出于安全考虑,为mysql 用户 root 设置密码root test php-5.2.6 # /usr/local/mysql/bin/mysqladmin u root password 123456root test php-5.2.6 # /usr/local/openfire/bin/openfire start查看 openfire 控制台端口9090 &9091是否已经打开root test php-5.2.6 # netstat tlunp打开 Firefox 浏览器,在地址栏里输入::9090 进入 openfire Tool 页面,开始安装设置 openfire,在你开始设置之前,首先选择适合于你的语言,这里我们当然选择“中文(简体)Simlified Chinese(zh_CN)”。点击“continue”,开始一步设置-服务器设置,这里保持默认即可点击“继续”,开始下一步设置-数据库设置,如果你使用一个外部数据库的话,就选择“标准数据库连接”,若使用 openfire 自带的数据库的话,就选择“嵌入的数据库”。因为我使用的数据库是 mysql ,所以选择“标准数据库连接”点击“继续”,开始下一步设置数据库驱动选项:选择使用数据库的类型,有 mysql、mssql、oracel 等供选择,选择 mysqlJDBC驱动程序类:此处保持默认即可数据库URL:jdbc:mysql:/local_host:3306/database_name,将 local_host 改成mysql 服务器的IP地址,这里我是在本机操作,所以local_hostq我设置成:。database_name改成刚刚创建的 openfire的数据库openfire.用户名:输入可以登录 mysql 服务器的用户名,这里我输入mysql 服务器默认的管理员 root密码:输入mysql 服务器管理员root 的密码Minimum Connections:设置连接 openfire 服务器的最小连接Maximum Connextions:设置连接 openfire 服务器的最大连接连接超时:设置连接 openfire 服务器的连接超时的时间点击“继续”按钮,开始下一点设置因为此例中,并没有使用 LDAP 服务器,只要选择“初使设置”即可。点击“继续”,开始下一步设置设置登录 openfire 管理控制台管理员帐户 admin 的密码,如果在这里没有设置,单击“跳过这一步”的话,默认密码是 admin 。管理员电子邮件地址可以保持默认,也可以根据自身的情况设置,没有多大影响。点击“继续”,开始下一步设置Spark 客户端安装Openfire 的默认设置已经可以使用啦,此时安装 Spark 客户端即可开始使用啦。从 Spark 网站下载 Spark 开始安装,安装过程,这里我就不作介绍啦,无非都是 step by step。安装 Spark以后,打开 Spark,出现 Spark 登录窗口,点击“帐户”可以在Spark 上可以自己创建帐号登录 Openfire 服务器输入用户名与密码,指定服务器的地址,点击“Create Account”创建用户。然后在登录窗口输入刚刚创建的用户名与密码和服务器地址,点击登录。Spark 界面窗口:3 结束语本次通过对即时通讯的课题的研究让我对Linux下的服务器架构有了更深的认识。对于这次选题,让我感到收获良多。比如,我了解到了LAMP的架构及其优势。通过对这次毕业设计课题的研究,我对于企业级服务器架设有了比较系统全面的认识,更让我坚定地,更有信心的往服务器运维这方面发展。4致谢这次毕业设计是对我三年来学习成果的一次检验。我由衷地感谢教育、帮助过我的老师和同学。首先我要感谢辅导我的谢朝海老师,这段时间来他一直对我耐心指导,严格要求、热情鼓励。谢老师认真负责的工作态度使我受益匪浅。本论文从选题到完成,每一步都是在谢老师的指导下完成的,他倾注了大量的心血。在此我谨向敬爱的谢老师致以最诚挚的谢意!5.参考文献1Mirabilis Ltd., E.T.SURF HOME:MIRABILIS LTD. PROVIDES NEW SOLUTIONS FOR PEER-TO-PEER INTERNET COMMUNICATIONS, 1996.2W.Richaard Stevens.TCP/IP详解:TCP 事务协议、HTTP、NNTP和UNIX域协议,2000.3Simom Buckingham. An Introduction to the Short Message Service. Mobile Life streams Limited Issued , 2000.4Gerhard Fasol. imode: The Benchmark for Wireless Internet. Eurotechnoloy Report,20005N.Freed N.Borenstein .Multipurpose Internet Mail Extensions(MIME).RFC2045,19966Tim Bray,Jean Paoli, C.M.Sperberg-McQueen. Extensible Markup Language(XML)1.0,W3C Recommendation,19987Henrik, Frys

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论