网络通信多人聊天室的设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业论文(设计)材料题目:网络通信多人聊天室的设计与实现

学生姓名:王成虎

学生学号: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实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。

相关文档
最新文档