网络通信多人聊天室的设计与实现
- 格式:doc
- 大小:111.00 KB
- 文档页数:11
个人收集整理 勿做商业用途
毕业论文(设计)材料
题 目: 网络通信多人聊天室的设计与实现
学生姓名: 王成虎
学生学号: 0908030231
系 别: 电气信息工程学院
专 业: 电子信息工程
届 别: 2013
指导教师: 张 大 雷 个人收集整理 勿做商业用途
填 写 说 明
1、本材料包括淮南师范学院本科毕业论文(设计)任务书、开题报告以及毕业论文(设计)评审表三部分内容。
2、本材料填写顺序依次为:
(1)指导教师下达毕业论文(设计)任务书;
(2)学生根据毕业论文(设计)任务书的要求,在文献查阅的基础上撰写开题报告,送交指导教师审阅并签字认可;
(3)毕业论文(设计)工作后期,学生填写毕业论文(设计)主要内容,连同毕业论文(设计)全文一并送交指导教师审阅,指导教师根据学生实际完成的论文(设计)质量进行评价;
(4)指导教师将此表连同学生毕业论文(设计)全文一并送交评阅教师评阅。
3、指导教师、评阅教师对学生毕业论文(设计)的成绩评定均采用百分制。
4、毕业论文(设计)答辩记录不包括在此表中.
个人收集整理 勿做商业用途
一、毕业论文(设计)任务书
要求完成的主要任务及达到的目标
网络聊天室是供许多人通过文字与符号进行实时(您输入的内容马上就能被别人看见)交谈、聊天的场所,它是一个向整个因特网开放的地方。随着网络的兴起和普及,这种高科技带来的交流形式也在为越来越多的人接受。
本设计中的多人聊天室是以“客户端/服务器”为基本模型的Linux环境下的应用软件,服务器采用多线程技术支持多用户(客户端)同时连接,用线程互斥量进行数据的保护及用户的互斥访问,在linux环境下采用socket(套接字)实现客户端与服务器间的通信,采用TCP/IP协议进行数据的传输.服务器接收客户端数据并将数据转发给所有与服务器连接的客户端。这样便通过服务器的转发实现多人聊天室(群聊)的功能.
通过本次毕业设计能够熟练的进行linux环境下的socket(套接字)网络编程,并对TCP/IP协议有了更进一步的理解,提高了对socket(套接字)网络编程中的接口函数的熟练程度。能够熟练的进行linux环境下多线程与多进程的编程,加深了linux环境下的多线程与多进程调度的理解,加深了对网络通信过程中的阻塞和非阻塞的理解,在本次设计中的多人聊天室采用阻塞模式。
工作进度要求 个人收集整理 勿做商业用途
2012。12。1——2012.12。9 撰写开题报告
2012。12。9—-2012。12.31 拟定论文提纲
2013。1.1——2013。2。28 撰写论文初稿
2013.3。1——2013。4.31 论文修改
2013。5.1——2013。5。14 论文定稿
指导教师签名:
年 月 日
二、毕业论文(设计)开题报告
课题研究目的
网络聊天室是供许多人通过文字与符号进行实时(您输入的内容马上就能被别人看见)交谈、聊天的场所,它是一个向整个因特网开放的地方。随着网络的兴起和普及,这种高科技带来的交流形式也在为越来越多的人接受。
通过本次毕业设计能够熟练的进行linux环境下的socket(套接字)网络编程,并对TCP/IP协议有了更进一步的理解,提高了对socket(套接字)网络编程中的接口函数的熟练程度。能够熟练的进行linux环境下多线程与多进程的编程,加深了linux环境下的多线程与多进程调度的理解,加深了对网络通信过程中的阻塞和非阻塞的理解,在本次设计中的多人聊天室采用阻塞模式。
课题研究计划
根据课题的实际需要和研究现状,为更好地高效地保证完成论文,拟如下具体安排:
第一阶段:查阅文献、资料
第二阶段:撰写论文开题报告
第三阶段:实验探索
第四阶段:论文定稿与答辩
工作进度
2013。1.1-—2013。2。28 学习linux环境下socket(套接字)网络编程和本次论文相关的原理,与指导老师就所研究的课题进行详细的探讨后再逐条拟定论文提纲. 个人收集整理 勿做商业用途
2013.3.1-—2013.3。31 尽力完成论文课题实物并撰写论文初稿.
2013。4。1-—2013.4。30初稿完成后,根据指导老师意见就细节和内容进行修改论文。2013.5.1——2013.5.14多次修改后,最终定稿并上交指导老师。
本课题研究现状(需附适量参考文献) 个人收集整理 勿做商业用途
网络聊天室通常直称聊天室,是一种人们可以在线交谈的网络论坛,在同一聊天室的人们通过广播消息进行实时交谈。
聊天室可以建立在即时通讯软件、P2P软件、万维网等基础上,万维网方式更为普通和种类繁多,交谈的手段不局限于文本,更包括语音、视频.通常聊天室是按照房间或频道为单位的,在同一房间或频道的网人可以实时地广播和阅读公开消息.一般情况下,与其它网络论坛、即时通讯不同的是,聊天室不保存聊天记录。
聊天室基本原理是,抛开CGI和WWW服务器,根据HTML规范,接收到浏览器的请求以后,模仿WWW服务器的响应,将聊天内容发回浏览器。在浏览器看来就像浏览一个巨大的页面一样始终处于页面联接状态, 这就是一个专门的聊天服务器,一个简化了的WWW服务器.
网络,是用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。通信是人与人之间同过某种媒体进行的信息交流与传递。网络通信一般指网络协议。通俗地说,网络协议就是网络之间沟通、交流的桥梁,只有相同网络协议的计算机才能进行信息的沟通与交流。这就好比人与人之间交流所使用的各种语言一样,只有使用相同语言才能正常、顺利地进行交流.从专业角度定义,网络协议是计算机在网络中实现通信时必须遵守的约定,也就是通信协议.主要是对信息传输的速率、传输代码、代码结构、传输控制步骤、出错控制等作出规定并制定出标准。
本设计中的多人聊天室是以“客户端/服务器”为基本模型的Linux环境下的应用软件,服务器采用多线程技术支持多用户(客户端)同时连接,用线程互斥量进行数据的保护及用户的互斥访问,在linux环境下采用socket(套接字)实现客户端与服务器间的通信,采用TCP/IP协议进行数据的传输。服务器接收客户端数据并将数据转发给所有与服务器连接的客户端.这样便通过服务器的转发实现多人聊天室(群聊)的功能。
又叫主从式架构,简称C/S结构,是一种网络架构,它把客户端 (Client) (通常是一个采用图形用户界面的程序)与服务器 (Server) 区分开来。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。有很多不同类型的服务器,例如文件服务器、终端服务器和邮件服务器等。虽然它们的存在的目的不一样,但基本构架是一样的.
socket的英文原义是“孔"或“插座”。通常也称作"套接字”,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,象一个多孔插座。客户软件将插头插到不同编号的插座,就可以得到不同的服务。socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来个人收集整理 勿做商业用途
说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别.
TCP/IP是Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址.
IP是英文Internet Protocol(网络之间互连的协议)的缩写,中文简称为“网协”,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则.任何厂家生产的计算机系统,只要遵守 IP协议就可以与因特网互连互通。IP地址具有唯一性,根据用户性质的不同,可以分为5类。另外,IP还有进入防护,知识产权,指针寄存器等含义。
参考文献
[1]宋敬彬,孙海滨.linux网络编程,清华大学出版社2010
[2]谭浩强。C语言程序设计,清华大学出版社,2005
[3]刘彪。网络编程与分层协议设计,机械工业出版社,2011
[4]冉林仓。Red Hat Linux 9 编程开发与网络管理,电子工业出版社,2006
[5]甘刚。Linux/UNIX 网络编程,水利水电出版社,2008
[6]唐晓君.Linux 系统及编程基础,清华大学出版社,2012
[7]刘循。Linux 操作系统及其应用编程,高等教育出版社,2011
[8]蒋静. 操作系统原理·技术与编程,机械工业出版社,2011
[9]杨铸.Linux 下C语言应用编程,北京航空航天大学出版社,2012
[10]杨树青,王欢.Linux环境下C编程指南,清华大学出版社,2010
[11]刘学勇,陈建伟。精通Linux C编程,清华大学出版社,2009
[12]王雷。TCP/IP网络编程技术基础,清华大学出版社,2012 个人收集整理 勿做商业用途
学生签名: 2011年12月28日 个人收集整理 勿做商业用途
指导教师意见
指导教师签字: 年 月 日
三、毕业论文(设计)评审表
毕业论文(设计)主要内容