欢迎来到天天文库
浏览记录
ID:47299267
大小:128.00 KB
页数:9页
时间:2019-08-21
《基于LINUX和QT的聊天室》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、毕业设计(论文)开题报告题目:基于LINUX和QT的聊天室系(部)计算机应用技术专业计算机科学与技术学生学号班号指导教师开题报告日期说明一、开题报告应包括下列主要内容:1.通过学生对文献论述和方案论证,判断是否已充分理解毕业设计(论文)的内容和要求2.进度计划是否切实可行;3.是否具备毕业设计所要求的基础条件。4.预计研究过程中可能遇到的困难和问题,以及解决的措施;5.主要参考文献。二、如学生首次开题报告未通过,需在一周内再进行一次。三、开题报告由指导教师填写意见、签字后,统一交所在系(部)保存,以备检查。指导教师评语:指导教师签字:检查日期:一、课题的开发背景与需求分析如需要全套论文、程序和
2、答辩PPT请联系扣扣:八五零七二五四三九近年来,随着全球信息化进程的不断发展,网络也在飞速发展。出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。然而,随着企业规模的扩大,业务量的增加,在局域网上运行的应用越来越多,如知识库、网络会议、数据库应用和数据的同步与备份等,这些应用对局域网的信息吞吐、处理能力的要求也越来越高。这些在企业内部原有局域网设计之初未曾考虑到的新情况的出现使得局域网不堪重负,容易发生信息阻塞,此时,局域网不但不能提高生产效率,反而成为企业发展的瓶颈。…………二、调
3、研分析提升网络带宽及增加服务器的吞吐能力是解决局域网络问题的一种方法。然而,从企业运行的成本方面考虑,无论是单纯地提升网络带宽或增加服务器的吞吐能力都不能从根本上解决局域网资源紧张的问题,对旧有局域网的大规模硬件改造反而会增加企业的负担。基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。基于Socket的局域网聊天工具是此类局域网通信软件的具体实例之一,它很好地诠释了Socket通信
4、的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。基于Socket的局域网通信软件应用范围广阔,不但可以处理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广泛的应用前景。三、关键技术与解决方案Socket接口上TCP/IP网络应用程序接口(API),它提供了许多函数和例程,程序员可以使用它们来开发TCP/IP网络应用程序。使用Socket接口进行网络通信的过程如图1-3所示,简要步骤如下:(1)建立一个Socket.(2)按要求配置socket,将
5、socket连接到远程主机或给socket指定以各本地协议端口。(3)按要求通过socket发送和接受数据。(4)关闭此socket。上述点对点通信的实现知识完成了主机进程与服务器进程之间的连接,建立连接的进程之间是一对一的联系,即主机的一个进程与服务器的一个进程之间建立的连接。而每个进程进行通信的环节都包括了发送信息和接口信息两个任务,这两个任务通过一个端口地址发送和接收。对于多个并发的任务需要创建多个线程或线程去实现。使用一个进程去完成发送信息是没有问题的,因为发送总是主动的;而使用同一个进程再去完成接受信息去不一定会成功,因为接受信息是被动的,所以当没有信息可以接收时,该进程就会被阻塞,
6、从而导致发送任务也一起被阻塞。同一个端口的发送和接收是两个并发任务,应该由两个不同的任务去分别完成信息的发送和接收。这样,当接收信息任务因没有信息而被阻塞时,不至于影响发送任务的执行。那么,发送和接收两个任务是使用两个进程还是两个进程去完成呢?在网络通信中,端口地址是以进程为单位进程分配的,而一个进程与外界的消息发送与接收必须通过分配给它的同一个端口进行。因此,不能通过创建进程方式来解决上诉问题,因为两个进程会分别对应两个不同的端口,而发送和接收必须使用同一端口。线程不是资源分配的单位,所以如果使用两个线程不会对线程分配新的端口。因此,本实验需要使用两个线程去分别完成发送和接收信息的任务,这两
7、个线程共享其进程拥有的统一个端口地址。由于创建进程的进程本身会作为一个线程来调度,所以只需要再创建一个线程专门负责接收信息就可以了。因此,对于从每个客户端发来的请求,服务器端都要创建相应的线程去接收并处理;同理,对于客户端而言,也要创建一个线程去读取服务器端发来的信息……四、系统完成的功能本设计实现了在LINUX系统下的多人通信并且实现服务器对整个通信过程的监控。QT作为Linux环境下的图形用户
此文档下载收益归作者所有