聊天室系统的设计与实现
摘要
随着时代的进步和发展,网络技术在人们的生活的中扮演着重要的角色,网络聊天也越来越受到人们的欢迎。本课题内容是基于TCP/IP的局域网聊天室系统开发。本文运用工程的方法,程序设计技术、数据文本技术、网络通信技术等多种技术进行开发。利用TCP/IP套接字及进程间通信编写网络聊天程序。完成客户端号码申请、发送信息、显示在线用户及服务器端的广播信息,包括在线人数等功能。
查看完整论文请+Q: 3519,1607,2
关键字:TCP/IP聊天室套接字
目 录
第一章 绪 论 1
1.1课题研究背景 1
1.1.1 项目可行性分析 1
1.2聊天室系统的发展现状 2
1.3开发平台 2
第二章 系统功能设计和核心概述 4
2.1 基本功能 4
2.2聊天室系统的核心概念 4
2.2.1 TCP/IP协议: 4
2.2.2 网络通信和进程通信 5
2.2.3 客户/服务器(C/S)模型 6
2.4.4 MySQL数据存储系统 7
第三章 聊天室系统的实现 8
3.1服务器端的实现 8
3.2 客户端的实现 10
3.3 数据库存储 13
第四章 总结与展望 16
4.1 总结 16
4.2 展望 16
附录一 服务器端程序设计 17
附录二 客户端的程序设计 23
参考文献 36
致谢 37
第一章 绪 论
1.1课题研究背景
某公司是做金融数据方面的研究的和相关产品,在保密程度上会比较严格。为了保证公司内部的成员不把公司的信息传递给外部人员,公司打算自主研发一个适用于公司内部的局域网聊天室系统,这样既防止了公司重要数据的外泄,又能保证公司内部成员间可以流畅沟通。
1.1.1 项目可行性分析
可行性分析也叫做可行性研究,是在系统的社会调查的基础上,针对新项目的研发是否具有必要性和可能性,对新项目从经济、社会、技术等方面进行分析和研究,用来规避投资失误,保证新项目能够按时保质完成。可行性研究的目的是尽可能在尽可能短的时间,用最低的成本来确定和解决目标的问题。该系统的可行性分析包括以下内容。
(1)经济可行性:主要是对目标项目的经济效益进行评估,据分析本系统开发阶段经费不高,费用支出对于本单位是可以接受的,本系统实施后可以显著提高工作效率和工作质量,有助于公司实现信息化管理,继而产生经济效益。所以本系统在经济上是可行的。
(2)技术可行性:技术可行性主要以分析技术条件上能否支持顺利完成开发工作。主要分为硬件和软件两块。该管理系统运用了目前较为应用广泛的Client/Serve模式进行开发。数据库我们选用MySQL数据库,它能够处理大量数据,同时还能保持数据的完整性。除此之外它的灵活性、安全性还有易用性为项目的数据库编程提供了良好的前提条件。因此,在软件方面我们无须担心。硬件方面,在科技突飞猛进的今天,硬件更新速度比以前更加快速,其内存容量也比以前更大了,可靠性和安全性更加好,价格却比以前低了,因此硬件平台完全能满足本项目的需要。
综上所述,在可行性研究里,本项目是完全可以的。
1.2聊天室系统的发展现状
聊天工具是目前广泛应用的一种网络服务,聊天室更是它的核心。它为人们相互沟通提供了一种简单快捷的方式。在线聊天是当今互联网交流的重要活动之一。据调查显示: 在网络用户经常使用的网络服务/功能中,网络聊天占据重要比重。聊天室作为操作简单同时也是出现最早的网上聊天方式之一,所以在网络聊天中扮演着重要角色。
最新的聊天室充分利用了媒体技术, 在网站带宽越来越大的今天,以全新的运作模式把握大众的神经。常见的聊天室大致可以分成以下几类:
文本聊天室:它最方便的地方在于不需要安装专门的软件,Web浏览器本身就可以用聊天服务。由于网页本身自带服务器,所以文本聊天室不需额外的硬件支持,对于中小型客户的建设和使用是比较方便的。所以,基于Web 的聊天室目前还被被广泛使用。然而聊天的实质常常比较简单。
视频聊天室(语音聊天室/动画聊天室): 多媒体技术的发展和在互联网上的应用的普遍, 一种把语音、文本还有视频相结合的三维语音视频聊天室在互联网上传播了起来。比如碧聊、E 聊视频聊天室等。
复合聊天室: 其代表是UC聊天室, 它不同于传统IM软件为主导的文字通讯,而是将声音、色彩、还有图文这样复合的场景融入聊天模式,形成一个完整的在线时时通讯娱乐平台,带来新的用户体验。
聊天室是现今普遍使用的一种网络服务, 它应网民们的需求,提供了一种较为方便和快捷的全新沟通方式, 目前在线聊天已成为上网活动的重要活动之一。本课题研究的对象是网上聊天室,程序的语言是C语言,程序能够实现一般的文字聊天功能,可作为公司局部的沟通工具。
1.3开发平台
本套系统主要基于Linux操作系统进行开发。Linux是一套免费的类UNIX操作系统。它可以运行大部分的UNIX工具软件、应用程序还有网络协议。Linux承接了Unix的设计理念:以网络为核心。
由于Linux从一开始就是为广大用户群提供方便快捷免费的系统底层服务的,所以在使用的时候无须烦恼太多的其他外不因素。同时Linux系统完全遵循世界标准规范,尤其是开放系统互连国际标准。所以大家可以放心Linux的安全性。除此之外,Linux其系统资源可以被多个用户同时使用,因此遇到问题大家可以一起来帮忙。Linux还有良好的用户界面、设备独立性、多任务性。
因此本项目用的是Linux系统。
第二章 系统功能设计和核心概述
2.1 基本功能
根据对公司情况的调研,我们对聊天室系统功能进行了规划。采用TCP方式的文本聊天,包括服务器和客户端。两者主要功能如下:
服务器端:
(1)启动服务器,建立侦听模块,接受客户端连接。
(2)接收、分析、转发聊天信息。
(3)向客户端发送系统消息。
(4)关闭服务器,并向客户端发送服务器关闭消息。
客户端:
(1)连接服务器,发送用户请求登录信息。
(2)向服务器发送聊天信息。
(3)接收服务器发送聊天信息。
(4)接收服务器的系统信息。
(5)响应服务器通知关闭消息。
聊天室的基本功能和操作步骤如下:
操作者进入起始页面如果是已存在用户可以直接登录,如果是不存在用户必须要注册后才能登录。用户登录之后可以查看其他在线用户,并且选择私人或多人聊天,若聊天结束用户可以查看聊天记录,退出之后会有服务器和客户端的响应。
2.2聊天室系统的核心概念
2.2.1 TCP/IP协议:
TCP/IP:网络通讯协议,互联网是基于最基本的协议也是互联网互联网络,包括IP作为网络层和传输层协议。TCP/IP 规范了电子设备如何连入因特网的操作,同时也设定了数据如何在它们之间传输的标准。协议选用了4层的层级结构,随着4层递阶层次结构和各层协议,可以提供给它的协议下一级完成自己的需求。通俗的讲:如果发现TCP发现错误信号,就会要求重新发送,直到所有数据的正确传送到有需要的地址。而IP是给在因特网的每一台电脑一个地址这个地址是唯一的。图2.2.1为TCP/IP的分层协议
2.2.1 TCP/IP分层协议
2.2.2 网络通信和进程通信
网络通信,是对计算机之间通讯的消息格式、是收/发两边都接受的传送消息实质的一组定义同时也是一种协议。有了网络通信协议,不同系统的计算机或网络之间就可以相互识别出不同的网络操作指令,相互建立起联系,达到共同合作的目的。
进程通信,为了进一步提高计算机系统的工作效率.增强计算机系统内各种硬件的配合和操作能力.操作系统要求程序结构必须适应这个需要。为了达到这个目的所以引入了进程的概念。该进程是操作系统的核心,所有的多道程序设计的操作系统的基础上的想法是基于过程的概念。计算机系统提供多任务并行环境。无论应用程序或系统程序。所有需要创建每个任务对应的过程都会用到进程。进程是设计和分析操作系统的比较有力的工具。然而,不同的进程之间的。即使父与子之间的进程。他们都有自己不同的图像处理。由于不同的内存空间运行的进程。一个进程修改变量如果另一个进程是不知道的。所以信息之间的传送不不可能通过变量或其他的函数传递,只能通过进程间通信来完成。
原文链接:http://www.jxszl.com/dzxx/gdxx/2586.html