毕业设计论文局域网聊天系统

合集下载

(完整版)基于winsock的局域网聊天室系统分析与毕业设计论文

(完整版)基于winsock的局域网聊天室系统分析与毕业设计论文

北京联合大学-信息学院计算机网络实践报告木瓜Chat局域网聊天工具设计报告组长(学号):拉格木呷4组员(学号):高迪7张鹤轩7刘晓弟5版本号: 1.0时间:2015年1月8日摘要从实际应用系统的角度出发,以VB的网络技术为指导,结合现有软件的应用,编程实现基于Visual Basic的局域网络聊天工具。

该聊天工具具有聊天室聊天,一对一聊天,以及文件传输的功能。

该论文主要对当今主流的网络聊天软件的发展情况,与该软件相关的技术以及本设计的实现做一个详细的阐述:1. 计算机网络聊天工具,受到了用户的普遍爱好,它把人们带进了一个虚拟的网络世界,拉近了人们的距离。

从单一的文本聊天,到语音聊天以及到现在的图像、视频聊天、及时短信的发送和在线游戏等功能的开发,已经大大的拓展了聊天工具的概念,它成为了人们通过因特网相互联系和娱乐的主要平台,这也是腾讯成功的原因。

2. 该聊天软件基于VB中的WinSock通信,在此基础上,实现一对一聊天、一对多聊天以及文件的传输。

3. 该聊天工具可以运行于任何安装了VB6.0和支持tcpip,upd,ftp协议的机器上。

4. 由于系统采用cs结构,客户端与客户端以及客户端与服务器端需要传送一些控制消息,因此系统需要自定义一些消息类型,这是该聊天工具的又一大关键之处。

5. 文件传输作为另一个独立的模块,大大拓展了该聊天工具的功能,其传输资料利用了原有的WinSock通信,关键需要同步双方的发送和接受线程。

局域网通讯(Local Network,简称LNLNIM)是指能够即时发送和接收互联网消息等的业务。

自2001年面世以来,特别是近几年的迅速发展,局域网通讯功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。

它不再是一个单纯的聊天工具,已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。

是一种终端连往即时通讯网络的服务。

网络聊天系统的设计与实现

网络聊天系统的设计与实现

网络教育学院本科生毕业论文(设计)题目:网络聊天系统的设计与实现学习中心:层次:专科起点本科专业:年级:年春/秋季学号:学生:指导教师:完成日期:年月日网络聊天系统的设计与实现内容摘要随着互联网技术的飞速发展,网络已经成为人们生活中不可缺少的一部分,通过网上聊天已经成为人与人之间的网络通信的聊天,交流和联系的一种方式。

因此,更多的网站开始提供在线聊天功能。

与此同时,以其方便,快捷,成本低的优势,聊天室众多企业的青睐,许多企业网站也加入了聊天室,从而促进消费者与消费者和消费者之间的通信模块。

本文是一个软件工程的在线聊天系统,专注于系统的开发,使用系统的分析,设计和思维测试软件工程知识来实现的描述,其中包括三个主要方面的软件生命周期:软件定义(问题定义,可行性研究,需求分析),软件开发(总体设计,详细设计,编码,测试)和运行维护。

通过运用软件工程知识处理实际,加强的问题,清晰,可靠的标准化,使得程序易于维护。

该软件使用JAVA编写,具有良好的兼容性,易于实现。

操作简单,使用方便结构简单,易于搜索,实用的聊天室。

关键词:网络;通信;套接字I网络聊天系统的设计与实现目录内容摘要 (I)引言 (4)1 概述 (5)1.1 课题研究背景和意义 (5)1.2 本文的主要内容及组织结构 (5)2 网络应用系统开发技术介绍 (7)2.1 TCP/IP协议概述 (7)2.2 客户/服务器模型 (7)2.3 Socket网络编程 (7)2.4 开发工具与运行环境 (8)2.5 其他技术 (8)3 网络聊天系统的分析与设计 (10)3.1 可行性分析 (10)3.2 需求分析 (10)3.3 系统总体设计 (11)3.3.1 系统架构模型 (12)3.3.2功能模块设计 (12)3.3.3系统通信设计 (12)3.3.4数据库设计 (13)4 网络聊天系统详细设计及实现 (14)4.1 服务器端设计与实现 (14)4.1.1 服务器等待连接进程/线程设计 (15)4.1.2 服务器处理客户端信息进程/线程设计 (16)4.2 客户端设计与实现 (16)4.2.1 登陆模块 (16)4.2.2 主界面模块 (16)4.2.3 私聊模块 (19)4.2.4 聊天记录管理模块 (21)II网络聊天系统的设计与实现5 测试 (23)5.1 软件测试概述 (23)5.2 测试策略与结果分析 (23)结论 (28)参考文献 (29)III网络聊天系统的设计与实现引言随着不断投入的信息技术,网络,作为一种新生事物,近年来现代技术的普及得到了前所未有的深入,网络应用不断涌现层出不穷,所有的层级和所有年龄的用户提供不同的个性化服务。

局域网聊天工具的设计与实现

局域网聊天工具的设计与实现

本科生毕业论文论文题目:局域网聊天工具的设计与实现外文题目:The design and realization of theLAN chat implement学生姓名:***学生学号:****专业班级:计算机科学***学院名称:计算机信息***指导教师:***教授声明本人郑重声明:所呈交的论文是本人在老师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

摘要本论文所设计的局域网聊天程序将采用软件工程学的设计流程,其所涉及专业技术主要包含socket网络编程,ODBC数据库编程技术,Windows MFC 程序设计技术,多线程机制。

本程序将以VC 6.0作为系统开发工具,Microsoft SQL Sever 2000作为后台数据库管理系统,通过Microsoft操作系统自带的ODBC管理工具连接程序和数据库。

此聊天程序将采用C/S模式即客户端/服务器模式。

客户端和服务器、客户端和客户端之间均采用UDP进行通信。

服务器主要负责储存局域网内所有用户的信息,当用户信息发生变化时通知所有客户端。

此外服务器还要负责分配用户的惟一标识Uid。

除此之外,服务器还能注销用户和群发系统消息。

客户端具有用户注册、用户登录和向局域网内任何一个用户发送信息的功能。

客户端需手动输入服务器地址。

关键词:局域网聊天;socket(套接字);ODBC(开放数据互连);客户端/服务器模式;MFC(微软基础类);多线程;UDP(用户数据报协议)AbstractThe LAN chat program in this article will use the design procedure of the Software Engineering to design with Socket Network Programming,ODBC Database Programming,Windows MFC Programming,Multithread.This program will adopt VC 6.0 as the system Develpoment tool,and SQL Sever 2000 as the databse management system,while the ODBC management tool belong to Microsoft Operating System is used to link the program and databse.This chat program will be based on C/S architecture.The communication between client and server or client and client will depend on the UDP protocol.The Server is in charge of storing the information of all the users int the LAN,and notify all the users while the information change.Except that,what the Sever will do is to assign the Uid which one is the only mark of client user,delete user and send system message to all users.The Client is in charge of user register,user log on and chatting with any one else in the LAN.The Client need to manually input the address of the Server.Key words:LAN chat,socket,ODBC,C/S,MFC,multithread,UDP目录声明 (I)摘要 (I)Abstract (Ⅱ)1 引言 (1)1.1课题背景及意义 (1)1.2 课题现状 (1)1.3 开发平台及开发技术的介绍 (1)1.3.1 VC++6.0 开发平台介绍 (1)1.3.2 Windows Socket网络编程简介 (2)2 需求分析及可行性研究 (2)2.1 需求分析 (2)2.1.1 功能需求分析 (2)2.1.2 数据需求分析 (2)2.1.3 性能需求分析 (2)2.1.4 运行需求分析 (2)2.2 可行性研究 (2)3 相关开发技术的原理性说明 (3)3.1 win32编程原理及MFC框架 (3)3.1.1 win32编程原理 (3)3.1.2 MFC框架 (4)3.2 TCP/IP协议及WINDOWS SOCKETS网络编程接口 (4)3.2.1 TCP/IP协议简介 (4)3.2.2 Windows Sockets 网络编程接口 (4)3.3 多线程技术 (5)3.3.1 进程及线程概述 (5)3.3.2 Win32 API 对多线编程的支持 (6)3.4 MFC ODBC数据库访问技术 (7)3.4.1 ODBC 简介 (7)3.4.2 MFC封装的ODBC数据库类 (7)3.4.3 应用ODBC编程方法介绍 (8)4 总体设计 (9)4.1 体系结构设计 (9)4.2 功能模块设计 (9)4.3 数据结构设计 (10)5 详细设计与编码实现 (11)5.1 服务器详细设计 (11)5.1.1 服务器界面设计 (11)5.1.2 服务器通信模块设计 (15)5.2 客户端详细设计 (23)5.2.1客户端界面设计 (23)5.2.2客户端通信模块设计 (30)6 测试 (42)6.1 功能性测试………………………………………………….42.6.2 容错性测试 (42)参考文献 (42)1 引言1.1课题背景及意义随着计算机科学技术的飞速发展,网络越来越深刻的改变着人们生活方方面面。

基于局域网的即时通讯聊天室系统毕业设计

基于局域网的即时通讯聊天室系统毕业设计

本科毕业设计(论文)题目基于局域网的即时通讯聊天室系统设计部系地方生部专业电子信息工程基于局域网的即时通讯聊天系统的设计摘要随着计算机科学和Internet 的飞速发展, 网上聊天已成为人们相互交流的一种方式, 与E-mail、相比, 聊天服务更具有实时性和有效性。

本论文提出一个运行于VC平台上的局域网聊天软件的解决方案。

该聊天软件包括服务器端和客户端两个模块,客户端通过服务器端进行通信。

服务器端模块主要实现了服务器的配置和数据的传递;客户端模块主要实现了用户注册、登录、文字聊天等功能。

该软件采用异步套接字的非阻塞模式,并实现对象的序列化和MFC文件对象实现数据的保存。

该软件能够帮助企业在局域网搭建起自己的聊天系统,避免企业部员工使用类似QQ等软件泄露部信息,但是该软件只实现了聊天的基本功能,还有很多不足之处需要改进。

关键字:局域网、即时通信、套接字、异步模式An instant messaging chat system based of LANAbstractAlong with the high-speed development of the computer science and Internet, chatting on line has been an important method in our communication. Comparing with E-mail and telephone, the chat-line service is more real-time and effective.This thesis proposes a solution of a LAN chatting software based on C++ language, which is operated on the VC platform. This chatting software includes two modules: the server and the client, which can communicate with each other. The server module mainly completes the sever device’s configuration. The client module mainly completes the users’ login, registration, instant messaging and so on. The software used model of non-blocking asynchronous socket , And to achieve the object and MFC series documents the preservation of the object data.This software can help the company to build their own chatting system in the local area network, and it also can avoid the staffof the company disclosing the insider information by using the other software such as QQ, but this software has only completed the basic function as a chatting system, so it need much more improvement.Key words:LAN 、Instant messaging、Socket、asynchronous modle目录摘要--------------------------------------------------------------- I Abstract------------------------------------------------------------- II 1 概述--------------------------------------------------------------- 11.1 系统现状-------------------------------------------------------------- 1 1.2 系统容与目标---------------------------------------------------------- 2 1.3 系统综述-------------------------------------------------------------- 2 2系统开发环境和关键技术--------------------------------------------- 32.1 开发环境-------------------------------------------------------------- 32.2 关键技术-------------------------------------------------------------- 32.2.1 .Visual C++和面向对象程序设计---------------------------------------------- 32.2.2 M F C---------------------------------------------------------------------- 42.2.3 WINDOWS SOCKETS网络编程接口----------------------------------------------- 42.2.4 WSAAsyncSelect模型开发---------------------------------------------------- 52.2.5 TCP/IP协议、TCP协议------------------------------------------------------- 62.2.6 Client/Server结构(客户机/服务器模式) ------------------------------------ 8 3系统分析与设计 ---------------------------------------------------- 93.1 系统分析-------------------------------------------------------------- 93.1.1 系统需求------------------------------------------------------------------- 93.1.2 需求分析------------------------------------------------------------------ 103.2 系统设计------------------------------------------------------------- 113.2.1 设计原则------------------------------------------------------------------ 113.2.3 工作流程------------------------------------------------------------------ 123.2.4 功能设计------------------------------------------------------------------ 133.2.5 共享数据类设计------------------------------------------------------------ 134系统实现--------------------------------------------------------- 164.1 服务器端设计实现------------------------------------------------------ 164.1.1 服务器端静态类图---------------------------------------------------------- 164.1.2 服务器主要类介绍---------------------------------------------------------- 164.1.3 服务器端主要过程介绍------------------------------------------------------ 194.2 客户端设计实现 ------------------------------------------------------- 254.2.1 客户端静态类图------------------------------------------------------------ 254.2.2 客户端主要类介绍---------------------------------------------------------- 254.2.3客户端主要过程介绍 -------------------------------------------------------- 274.3系统测试-------------------------------------------------------------- 324.3.1 测试意义 ----------------------------------------------------------- 324.3.2软件测试的目标 ------------------------------------------------------------ 324.3.2软件测试的方法 ------------------------------------------------------------ 324.3.3 测试用例------------------------------------------------------------------ 33总结与展望 ---------------------------------------------------------- 34参考文献 ------------------------------------------------------------ 36致 ---------------------------------------------------------------- 371 概述近年来,随着全球信息化进程的不断发展,网络也在飞速发展。

局域网聊天室系统的设计与实现毕业设计

局域网聊天室系统的设计与实现毕业设计

基于局域网的视频聊天室系统的设计与实现摘要视频聊天系统作为一种新型的通信和交流工具,突破了地域的限制,可以提供更为便捷、灵活、全面的音、视频信息的传递和服务,具有极其广泛的发展前景。

本文介绍了采用Microsoft Visual C++ 6.0编程开发视频聊天系统的一套比较常用的解决方案。

文字聊天采用TCP模式;语音视频聊天采用UDP模式,在客户端之间点对点的进行。

在该方案中,通过函数库VFW来实现视频捕获、影像压缩以及影像播放。

微软公司提供的专门用于视频捕获开发的工具包VFW,为在Windows操作系统中实现视频捕获提供了标准的接口,从而大大降低了程序的开发难度。

在视频传输方面,则通过组建视频帧,将位图形式的视频帧压缩成帧格式的Mpeg4流,传输到客户端后,解压并显示影像。

同时,在本方案中,采用了线程来实现语音录制和语音回放,最终实现了通过服务器中转的文字聊天、点对点的语音视频聊天。

关键词:文字聊天;VFW;视频捕获;视频传输;语音录制;语音回放The Design and Realization of LAN-Based Video Chat RoomSystemAbstractAs a new tool about communication, video chatting system has broken through geographical restrictions, has provides more convenient, flexible and complete transmission and service. Furthermore, it has a very bright future.The common solution about how to develop a video chatting system is introduced by the Microsoft Visual C + + 6.0 programming. TCP model is used in the text chatting and UDP for the point-to-point video chats between the Clients. In this plan, Video Capture, Video Compression Manager and DrawDib are realized by the functions of VFW Library. The special kit VFW (Video for Windows) in video capture offered by Microsoft Corporation, has provided a standard interface for video capture in Windows Operating System and thus greatly reduced the hardship of programming. In video transmission aspect, it requires a video frame which is compressed the video frame of bitmap into Mpeg4 steam of frame form. Then it will be decompressed into images since it has been arrived the Client. Meanwhile, the thread is used to achieve audio recording and replaying. Finally, it has realized the text chatting through a server to transit, the point-to-point audio and video chats.Key words:text chatting; VFW; Video Capture; video transmission; audio recording;audio playing目录论文总页数:24页1 引言 (1)1.1 课题背景 (1)1.2 国内外研究现状 (1)2 理论知识介绍 (1)2.1 VFW简介 (1)2.2 线程的实现方法 (4)3 需求分析 (5)3.1 软硬件环境 (5)3.2 需求分析 (5)4 系统结构 (7)4.1 硬件结构 (7)4.2 软件结构 (7)4.2.1 功能需求 (7)4.2.2 系统功能模块图 (8)4.3 系统各模块流程图 (8)5 系统的详细设计 (10)5.1 文字聊天 (10)5.1.1 TCP套接字的运用 (10)5.1.2 文字聊天实现 (11)5.2 语音视频聊天 (13)5.2.1 UDP套接字的运用 (13)5.2.2 视频的捕获 (14)5.2.3 捕获窗口 (16)5.2.4 视频捕获驱动 (18)5.2.5 语音录制 (18)5.2.6 语音回放 (19)5.2.7 视音频的传输 (20)结论......................................................................................................... 错误!未定义书签。

毕业论文局域网聊天软件的设计与实现原理

毕业论文局域网聊天软件的设计与实现原理

摘要在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。

基于Java网络编程的强大功能,本次毕业设计使用Java编写一个聊天系统。

一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式通过Java提供的Socket类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的而Java提供的多线程功能用多线程可完成多点对多点的聊天,数据库管理系统用SQL Server2000完成并通过JDBC-ODBC桥访问数据库。

本系统建立在JAVA平台上,系统的设计使用了面向对象技术和面向对象的设计原则。

系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息。

使用JAVA语言编写,开发工具采用Eclipse。

服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,执行不同的任务。

大大增强了程序对服务器资源的利用。

聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息等等功能。

关键字:多线程;客户机/服务器;JAVA ; Socket ; Eclipse ; TCP/IPAbstractas the network become more and more developed, people become more and more lean to the network, and can not leave with out it. This caused the chat materials become more numerous, as the overseas ICQ system, the OICQ system that invented by Tencent Co., and so on. So we create a network chat medium just like the QQ.Java network programming based on the power, the use of Java designed to prepare graduates a chat system.In general, the majority of the chat tool for client and server program in addition to server-side storage of customer data for the database,the system uses a client / server architecture model the adoption of Java provided Socket class connect client and server and between the client and server communicate with each other, as the chat is to provide point-to-multipoint and multi-threaded Java function to be completed by using multi-threaded chat and more point-to-multipoint, database management system with SQL Server2000 the completion and adoption of JDBC-ODBC Bridge access the database.The system built on the JAVA platform, the system design using object-oriented technology and object-oriented design principles. System uses the C / S structure, client and client-side and server-side client and send messages through Socket. The use of JAVA language, development tools using Eclipse. Design and Implementation of server-side process, the use of multi-threading technology, which can process in a single run at the same time a number of different threads, the implementation of different tasks. Procedures greatly enhanced the use of server resources.Chat system will allow people to complete chat to more friends,and the system can add, delete somebody,can deal with new user registration, send messages, receive messages and so on.Keywords : Multithreading ;Client/Server ;JAVA ;Socket ;Eclipse ;TCP/IP目录1 绪论 (5)1.1国内外聊天系统的研究现状 (5)1.2J AVA语言 (6)1.2.1 Java的发展历史 (6)1.2.2 Java的特点 (7)1.2.3 Java与Internet (7)1.3S OCKET编程 (8)1.3.1 关于TCP/IP协议 (8)1.3.2 服务器和客户机 (9)1.4本文内容安排 (9)2 需求分析 (10)2.1可行性研究 (10)2.1.1 可行性分析 (10)2.1.2系统功能需求 (10)2.1.3 系统性能需求 (11)2.1.4 系统运行需求 (11)2.2数据流图 (11)2.2.1 顶层数据流图 (11)2.2.2 一层数据流图 (12)2.2.3 二层数据流图 (13)3 概要设计 (14)3.1系统实现原理 (14)3.2系统实现层次图: (15)3.3各模块详细功能 (15)3.3.1服务器端结构 (15)3.3.2 客户端结构 (16)4 详细设计 (17)4.1系统流程图 (17)4.1.1 系统总体流程图 (17)4.1.2 系统客户端流程图 (18)4.2编写服务器端程序 (18)4.2.1 问题陈述 (18)4.2.2 解决方案 (19)4.3客户端程序编写 (23)4.3.1 (23)4.3.2 用户登录 (23)4.3.3 聊天室 (24)参考文献 (30)致谢 (31)1 绪论1.1国内外聊天系统的研究现状目前国内外做聊天系统的公司很多,产品也琳琅满目,国内有诸如腾讯QQ、新浪UC、网易泡泡等,国外有著名的MSN(新版改名为Live Messenger)以及跨平台Gaim等。

网络聊天系统的设计与实现

网络聊天系统的设计与实现

网络教育学院本科生毕业论文(设计)题目:网络聊天系统的设计与实现学习中心:___________________层次:专科起点本科专业:年级:年春/秋季学号:学生:指导教师:内容摘要随着互联网技术的飞速发展,网络已经成为人们生活中不可缺少的一部分,通过网上聊天已经成为人与人之间的网络通信的聊天,交流和联系的一种方式。

因此,更多的网站开始提供在线聊天功能。

与此同时,以其方便,快捷,成本低的优势,聊天室众多企业的青睐,许多企业网站也加入了聊天室,从而促进消费者与消费者和消费者之间的通信模块。

本文是一个软件工程的在线聊天系统,专注于系统的开发,使用系统的分析,设计和思维测试软件工程知识来实现的描述,其中包括三个主要方面的软件生命周期:软件定义(问题定义,可行性研究,需求分析),软件开发(总体设计,详细设计,编码,测试)和运行维护。

通过运用软件工程知识处理实际,加强的问题,清晰,可靠的标准化,使得程序易于维护。

该软件使用JAVA编写,具有良好的兼容性,易于实现。

操作简单,使用方便结构简单,易于搜索,实用的聊天室。

关键词:网络;通信;套接字目录内容摘要 (I)引言 (4)1 概述 (5)1.1 课题研究背景和意义 (5)1.2 本文的主要内容及组织结构 (5)2网络应用系统开发技术介绍 (7)2.1 TCP/IP 协议概述 (7)2.2 客户/服务器模型 (7)2.3 Socket 网络编程 (7)2.4 开发工具与运行环境 (8)2.5 其他技术 (8)3网络聊天系统的分析与设计 (10)3.1 可行性分析 (10)3.2 需求分析 (10)3.3 系统总体设计 (11)3.3.1 系统架构模型 (12)3.3.2 功能模块设计 (12)3.3.3 系统通信设计 (12)3.3.4 数据库设计 (13)4网络聊天系统详细设计及实现 (14)4.1 服务器端设计与实现 (14)4.1.1 服务器等待连接进程/线程设计 (15)4.1.2 服务器处理客户端信息进程/线程设计 (16)4.2 客户端设计与实现 (16)4.2.1 登陆模块 (16)4.2.2 主界面模块 (16)4.2.3 私聊模块 (19)4.2.4 聊天记录管理模块 (21)5 测试 (23)5.1 软件测试概述 (23)5.2 测试策略与结果分析 (23)结论 (28)参考文献 (29)引言随着不断投入的信息技术,网络,作为一种新生事物,近年来现代技术的普及得到了前所未有的深入,网络应用不断涌现层出不穷,所有的层级和所有年龄的用户提供不同的个性化服务。

局域网聊天系统论文

局域网聊天系统论文

课程设计报告书题目:局域网聊天系统课程:TCP/IP协议课程设计班级:10网工学号:20109346008姓名:学期:2013-9——2013-12二0一三年十月(一)目的与要求:为了进一步加强同学们课堂上学习的知识,加强学生对理论知识的理解和进一步的应用,本课程最后推出了这分课程设计报告,要求同学们充分的运用课堂上学习的知识,按照自己的理解和布局设计出本系统。

(二)系统需求分析:该系统模块实现了局域网之间的聊天,应用java语言对TCP/IP的运用,使得在同一局域网中的多个主机可以通过连接一个共同的服务器来相互聊天,可以给人们的生活工作带来一定的便捷性。

(三)系统实现步骤:代码一(ClientServer类)package Test07;import java.io.*;import .*;import java.nio.Buffer;import java.util.*;public class ChatServer {boolean started = false;ServerSocket ss = null;List<Client> clients = new ArrayList<Client>();public static void main(String[] args) {new ChatServer().start();}public void start() {try {ss = new ServerSocket(8888);started = true;} catch (BindException e) {System.out.println("端口使用中....");System.out.println("请关掉相关程序并重新运行服务器!");System.exit(0);} catch (IOException e) {e.printStackTrace();}try {while (started) {Socket s = ss.accept();Client c = new Client(s);System.out.println("a client connected!");new Thread(c).start();clients.add(c);}} catch (IOException e) {e.printStackTrace();} finally {try {ss.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}class Client implements Runnable {private Socket s;private DataInputStream dis = null;private DataOutputStream dos = null;private boolean bConnected = false;private FileOutputStream fos = null;private FileOutputStream fos1 = null;private BufferedReader br = null;public Client(Socket s) {this.s = s;try {dis = new DataInputStream(s.getInputStream());dos = new DataOutputStream(s.getOutputStream());fos = new FileOutputStream("E:\\Text.txt");bConnected = true;} catch (IOException e) {e.printStackTrace();}}public void send(String str) {String ss = null;try {dos.writeUTF(str);fos.write(str.getBytes());} catch (IOException e) {clients.remove(this);System.out.println("对方退出了!我从List里面去掉了!");}}public void run() {try {while (bConnected) {String str = dis.readUTF();System.out.println(str);for (int i = 0; i < clients.size(); i++) {Client c = clients.get(i);c.send(str);}}} catch (EOFException e) {System.out.println("Client closed!");} catch (IOException e) {e.printStackTrace();} finally {try {if (dis != null)dis.close();if (dos != null)dos.close();if (s != null) {s.close();}} catch (IOException e1) {e1.printStackTrace();}}}}}代码二(ChatClient类)package Test07;import java.awt.BorderLayout;import java.awt.Frame;import bel;import java.awt.TextArea;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.EOFException;import java.io.FileOutputStream;import java.io.IOException;import .Socket;import .SocketException;import .UnknownHostException;import java.util.Date;import java.util.Scanner;public class ChatClient extends Frame {private String str1;Frame f = new Frame();Socket s = null;Date d = null;DataOutputStream dos = null;DataInputStream dis = null;FileOutputStream fos = null;private boolean bConnected = false;TextField tfTxt = new TextField();TextField tfTxt2 = new TextField();TextArea taContent = new TextArea();Thread tRecv = new Thread(new RecvThread());Scanner input = new Scanner(System.in);// public static void main(String[] args)// {// new ChatClient().launchFrame();// }public void launchFrame(String str) {str1 = str;f = new Frame(str);f.setLocation(400, 300);f.setSize(300, 300);f.add(tfTxt, BorderLayout.SOUTH);f.add(taContent, BorderLayout.NORTH);pack();f.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent arg0) {disconnect();System.exit(0);}});tfTxt.addActionListener(new TFListener());f.setVisible(true);connect();tRecv.start();。

局域网聊天工具的设计与实现(论文)

局域网聊天工具的设计与实现(论文)

目录摘要 (1)1 局域网聊天工具概述 (1)1.1 开发目标和意义 (1)1.2 WINDOWS SOCKETS编程 (1)2 系统分析 (2)2.1 需求分析 (2)2.2 性能要求与可行性分析 (2)3 系统设计 (3)3.1 系统功能结构 (3)3.2 系统业务流程分析 (4)3.3 数据库设计 (5)4 系统模块详细设计 (6)4.1 文本聊天模块实现 (6)4.2 文件传输模块实现 (7)5 系统测试 (8)6 总结 (10)参考文献 (11)致谢 (11)局域网聊天工具的设计与实现摘要:本文提出并设计了一个局域网聊天工具,并在WINDOWS平台上利用Visual Studio2010加以实现。

本设计将文本聊天和文件传输等功能综合在一个客户端程序之内,使用C#语言进行网络编程,并进行了人性化的界面设计,使用起来简单方便,并且功能十分合理,又易于扩展以及个性化定制。

关键词:局域网;C/S体系结构;文本聊天;文件传输The Design And Implementation of The LAN Chat Tool Abstract: This paper put forward and design a LAN chatting tools, and in the W- indows platform by using Visual Studio 2010 realization. This design will text chat a- nd file transfer are integrate in a client program, using C# language for network prog- ramming, and the human interface design, easy to use, and the function is quite reaso- nable, and easy expansion and customization.Key words: LAN; C/S Architecture ;Text-Chat; File-Ttransfer1局域网聊天工具概述1.1开发目标和意义本设计的主要工作是设计一个基于WINDOWS平台的局域网即时聊天工具,具体是采用C/S模式实现用户之间的通信,然后阐述本软件的功能、特点及使用方法,并详细阐述开发本软件所用的相关技术,具体分析本软件的各个模块的功能及实现方法,说明本软件的设计思想及方法。

优秀毕业设计精品 基于局域网的聊天软件的设计与实现 精品

优秀毕业设计精品 基于局域网的聊天软件的设计与实现 精品

编号毕业设计(论文)题目基于局域网的聊天工具的设计与实现二级学院专业班级学生姓名学号指导教师职称时间目录摘要 (5)Abstract (6)1引言 (1)1.1开发背景 (1)1.2课题研究的意义 (2)2 系统概述 (2)2.1国内外发展现状 (2)2.2系统实现技术 (3)2.2.1 MFC窗口控件重绘 (3)2.2.2 Winsock编程 (5)2.2.3基于UDP的文件传输 (6)2.2.4多线程编程 (7)2.2.5扩展功能——广域网聊天 (8)3系统分析 (9)3.1需求分析 (9)3.2可行性分析 (10)3.2.1技术可行性 (10)3.2.2操作可行性 (10)3.2.3经济可行性 (10)3.2.4进度可行性 (11)3.3系统业务流程分析 (11)3.3.1会员处理业务流程图 (11)3.4系统数据流程分析 (12)3.4.2第一层数据流程图 (13)3.4.3第二层数据流程图 (13)3.5系统数据模型 (17)3.5.1系统E-R图 (17)3.5.2 CDM图 (19)3.5.3 PDM图 (20)4系统详细设计 (21)4.1系统功能设计 (21)4.1.1主要功能模块 (21)4.1.2主要功能描述 (22)4.2重要模块的具体实现 (24)4.2.1网络通信的实现 (24)4.2.2登陆验证模块 (30)4.2.3添加好友和加入群模块 (33)4.2.4基于UDP的文件传输模块 (34)4.2.5群聊天模块 (38)4.2.6网络通信安全模块 (39)4.3数据设计 (39)4.3.1数据库设计 (39)4.3.2数据结构 (41)4.4用户界面设计 (49)4.4.1 用户界面设计原则 (49)4.4.2 登陆会员界面 (53)4.4.3 登陆验证界面 (54)4.4.4 已登陆界面 (55)4.4.5 修改个人资料界面 (56)4.4.6 查找好友/群的界面 (57)4.4.7 好友聊天界面 (57)4.4.9 好友信息界面 (59)4.4.10 简洁模式界面 (60)4.5代码设计 (61)5系统实施 (78)5.1系统实施 (78)5.1.1软件开发工具的选择 (78)5.1.2开发平台 (78)5.1.3模式选择 (78)5.1.4程序设计与调试 (79)5.2系统测试 (79)5.3系统维护 (81)6总结 (82)致谢 (83)参考文献 (84)文献综述 (85)摘要如今网络的飞速发展,网络世界这一概念早已不再陌生,正是因为即时通讯软件的诞生,网络世界才蓬勃发展。

毕业设计论文--聊天系统的设计与实现

毕业设计论文--聊天系统的设计与实现

毕业设计论⽂--聊天系统的设计与实现南京航空航天⼤学本科毕业论⽂题⽬基于JAVA的聊天系统的设计与实现年级专业班级学号学⽣姓名指导教师职称论⽂提交⽇期基于JAVA的聊天系统的设计与实现摘要⽹络聊天⼯具已经作为⼀种重要的信息交流⼯具,受到越来越多的⽹民的青睐。

⽬前,出现了很多⾮常不错的聊天⼯具,其中应⽤⽐较⼴泛的有Netmeeting、腾讯QQ、MSN-Messager等等。

该系统开发主要包括⼀个⽹络聊天服务器程序和⼀个⽹络聊天客户程序两个⽅⾯。

前者通过Socket套接字建⽴服务器,服务器能读取、转发客户端发来信息,并能刷新⽤户列表。

后者通过与服务器建⽴连接,来进⾏客户端与客户端的信息交流。

其中⽤到了局域⽹通信机制的原理,通过直接继承Thread类来建⽴多线程。

开发中利⽤了计算机⽹络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server 模式)、⽹络编程的设计⽅法等。

在⽹络编程中对信息的读取、发送,是利⽤流来实现信息的交换,其中介绍了对实现⼀个系统的信息流的分析,包含了⼀些基本的软件⼯程的⽅法。

经过分析这些情况,该聊天⼯具采⽤Eclipse为基本开发环境和java语⾔进⾏编写,⾸先可在短时间内建⽴系统应⽤原型,然后,对初始原型系统进⾏不断修正和改进,直到形成可⾏系统关键词:即时通讯系统 B/S C/S MySQL Socket SwingThe Design and Implementation of Instant Messaging System Based on JavaAbstractAlong with the fast development of Internet, the network chating tool has already become one kind of important communication tools and received more and more web cams favor. At present, many extremely good chating tools have appeared . for example, Netmeeting, QQ, MSN-Messager and so on. This system development mainly includes two aspects of the server procedure of the network chat and the customer procedure of the network chat. The former establishes the server through the Socket, the server can read and deliver the information which client side sends, and can renovate the users tabulation. The latter make a connection with the server, carries on communication between the client side and the client side. With the LAN correspondence mechanism principle, through inheritting the Thread kind to establish the multithreading directly. In the development, it uses the elementary theory knowledge which the computer network programmes. for example, TCP/IP agreement, Client/Server pattern, network programming design method and so on. In the network programming, it realizes reading and transmission of the information, that is,informaton flows realize the information exchange, introduce information flow analysis for realizing a system, in which containes some basic software engineering methods. After analyzes these situations, this chating tool takes Eclipse as the basic development environment and compiles in java language. first, it will establish the system application prototype in a short time. then, for the initial prototype system, it needs constantly revised and improved, until a viable system.Keywords:Instant Messaging System; B/S ; C/S ;MySQL ;Socket; Swing;⽬录第1章引⾔ (1)1.1 开发背景 (1)1.2 开发⽬的和意义 (1)1.3 论⽂研究内容 (2)第2章即时通讯系统的相关研究 (3)2.1 C/S开发模式 (3)2.2 B/S开发模式 (3)2.3即时通讯原理 (4)2.4 Java web 、Struts2、AJAX、JavaScript应⽤技术 (4) 2.5 MySQL数据库应⽤技术 (4)2.6 Socket通信技术 (4)2.7 开发环境的搭建 (5)第3章系统分析 (5)3.1 系统基本功能描述 (5)3.2 可⾏性分析 (6)3.3 系统需求分析 (6)3.3.1功能分析 (6)第4章系统设计 (8)4.1 数据库设计 (8)4.2 系统模块设计 (9)4.2.1 聊天系统⼯作原理图 (9)4.2.2 系统功能模块图: (10)4.2.3 系统⽤例图: (10)4.2.4 活动图: (11)4.3 系统类设计 (13)4.3.1 Message类的设计 (14)4.2.2 截图类的设计 (15)4.2.3 聊天记录类的设计 (16)4.2.4 服务器线程类设计 (17)第5章系统实现 (17)5.1 实现概况 (17)5.2 注册模块 (18)5.2.1 流程图 (18)5.2.2 关键代码 (18)5.3 登录模块 (20)5.3.1 流程图 (20)5.3.2 关键代码 (20)5.4 聊天模块 (25)5.4.1 流程图 (25)5.4.2 关键代码 (25)5.5 ⽂件模块 (29)5.5.1 流程图 (29)5.5.2 关键代码 (30)5.6 ⽤户管理模块 (36)5.6.1 流程图 (36)5.6.2 关键代码 (36)5.7 其他功能的实现 (39)5.7.1 截图功能的实现 (39)5.7.2 聊天记录功能的实现 (40)5.7.3 服务端线程的实现 (42)5.8 ⽤户界⾯的设计 (43)结语 (46)参考⽂献 (47)致谢 ......................................................................................... 错误!未定义书签。

网络多人聊天系统的设计与实现论文

网络多人聊天系统的设计与实现论文

摘要近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面,使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。

各种在线服务系统,更是深刻的影响了人们的联系和交流方式,使得人们可以在远隔千里之遥随时通讯。

过去的种种陈旧的联系方式,已经不能满足现代生活的需要。

网上聊天系统作为一种方便人与人之间联系的实用系统便应运而生,为我们的工作和学习,带来极大的方便和提高工作效率。

由于目前人们交流方式变得多种多样,其中聊天软件凭借其友好的外观、强大的功能、使用的便利、联系的及时等特点博得现代人的青睐,其应用的市场十分广阔。

现在,企业、机关、学校纷纷建立起自己的局域网。

在局域网,虽然可以通过文件共享的方式进行通讯,但单单使用这种方式,是非常不方便的。

于是就想到做一个在局域网里的多功能聊天软件,在局域网里,我们可以通过它,实现在局域网里方便的联络,进行文件传输,消息的发布,自己共享内容的简介等。

在学校建立的校园网里,这软件可以方便同学之间、教师之间、师生之间的相互联络,这样,不用上Internet,还可以节省资源,在学校这个大环境里,可以方便同学之间联系,联络感情,促进同学之间的友谊,学生可以通过它来与不同寝室的同学,或教师讨论问题。

并能最大限度地利用现有的网络资源,极大地提高工作效率。

为了适应校园网的建设,并实现校园网内的消息发布,学生交流,师生交流,网上交作业等功能。

作为本人的毕业设计,本文介绍了个人开发的一款适用于校园的,一个局域网内的C/S结构的通讯软件,它将使同学们的交流更为方便,也可根据自身特点添加更多功能。

我考虑到作为局域网(校园网)聊天工具,终端用户数量较少,借鉴了QQ、网络聊天室等即时聊天工具,聊天信息采用服务器转发方式,只要当前在线的用户都可以接收到,当然,也实现了两人之间的私聊功能。

软件包括服务器程序和客户端程序,服务器包括聊天信息即时转发,自动关机的设置及记载,发送通知,数据库备份还原及数据库的初始化等功能。

网上聊天系统设计及实现论文毕业设计

网上聊天系统设计及实现论文毕业设计

网上聊天系统设计及实现论文毕业设计一、引言随着互联网的快速发展,人们的沟通方式也发生了巨大的变化。

现在,人们可以通过各种即时通讯工具进行实时的文字、语音和视频交流,这大大方便了人们之间的交流和合作。

二、系统设计1.功能需求该网上聊天系统应具备以下功能:-用户注册及登录:用户需要先进行注册并登录才能使用聊天系统。

-好友关系管理:用户可以查找和添加好友,并进行好友关系的管理。

-即时消息交流:用户可以通过系统发送和接收即时消息。

-群组聊天:用户可以创建和加入不同的群组,并与群组成员进行聊天。

-文件传输:用户可以通过系统传输文件。

-消息记录:系统应该能够保存用户之间的消息记录,便于用户之间进行查看和回顾。

2.技术选型为了保证系统的高效性和稳定性,我们选用以下技术进行系统实现:- 后端服务器:选用Java语言进行开发,使用Spring框架搭建服务端,MySQL数据库存储用户数据和消息记录。

- 前端界面:使用HTML、CSS和JavaScript进行开发,配合Bootstrap框架实现友好的用户界面。

- 即时通信协议:选用WebSocket协议进行实时通信,保证消息的准确传输和即时性。

三、系统实现1.数据库设计针对该网上聊天系统,我们需要设计以下数据库表:-好友表:存储用户之间的好友关系。

-消息记录表:存储用户之间的消息记录,包括发送者、接收者、消息内容等。

-群组表:存储群组的基本信息。

-群组成员表:存储群组成员的关系信息。

2.系统架构该网上聊天系统采用C/S架构,具体分为客户端和服务端两个部分。

- 客户端:提供用户界面和交互功能,通过WebSocket与服务端进行通信。

-服务端:处理客户端的请求,实现用户认证、好友关系管理、消息处理等功能。

3.系统流程以下是该网上聊天系统的基本流程:-客户端启动后,用户输入用户名和密码进行登录。

-服务端验证用户信息,如果成功验证则返回登录成功消息,并推送用户的好友列表。

-用户可以进行添加好友、创建群组、加入群组等操作。

基于UDP的局域网聊天系统

基于UDP的局域网聊天系统

1.2 局域网聊天系统的意义及特点
现在,企业、机关、学校都建立起了自己的局域网,在局域网,虽然可以通 过文件共享的方式进行通讯,但单单使用这种方式,是非常不方便的,首先,在 局域网里的网上邻居里,只能看到机器名,不清楚对方是谁,也不知道对方机器 里有什么资源可以共享,而且,当局域网的机器很多时,这种方式更加麻烦。于
第 5 章 结论与展望 .................................................. 36 致 谢 .............................................................. 37 参 考 文 献 ........................................................ 38
III
青岛理工大学毕业设计(论文)
第1章 绪 论
1.1 项目背景
网络聊天已经成为人们工作生活中传递信息、交流感情的重要工具。网络版 的聊天软件种类繁多,如 QQ、OICQ、MSN 等,实现了随时随地上网聊天,给人们 带来了很大的方便,也使世界好象一下子缩小了,不管你在哪里,只要你上了网, 打开这些软件,就可以给你的朋友发信息,不管对方是否也同时在线,只要知道 他有号码。 随着计算机应用技术的日益普及,网络也遍及到我们生活的每个角落,很好 的利用这些资源,将为我们的工作和学习,带来极大的方便和提高工作效率,所 以,开发一个局域网里的 C/S 通讯软件,是十分必要。 在局域网内的网上寻呼,有飞鸽传书,飞秋,能够较好的完成局域网上寻呼, 聊天,发文件等功能。其中的一些软件(如飞鸽传书)非常的小巧,并且是不需 要服务器的。但是有服务器的通讯软件,有着不可比拟的优势:可以发送离线消 息,不管用户当时是否在线,下次上线时,就可以看到这条消息了。可以保存用 户的个人信息或介绍,供人查看。而且,那种通讯软件,是以机器为通讯单元的, 而这种寻呼软件是以人为通讯单元。总之,这种软件在局域网上,还是有很大的 用途的,为局域网上通讯,带来极大的方便[1]。

基于QT局域网聊天系统设计毕业论文

基于QT局域网聊天系统设计毕业论文

基于QT的网络聊天系统设计摘要越来越多的嵌入式终端需要一个图形化的接口界面,良好的人机交互界面是嵌入式系统设计的一个关键技术。

特别是嵌入式的手持设备,比如手机,笔记本电脑等。

它对于嵌入式的实用性,美观性,和娱乐性都提供了极大地帮助,随着科学技术的高速发展,移动手持设备的网络功能已经非常成熟了,人们对手持设备网络软件的需求也日益增加,开发基于嵌入式终端的网络聊天系统软件具有很大的使用意义和价值。

本文的目标是实现基于QT的网络聊天系统设计,论文开始接受了Linux的优点和QT 用于开发嵌入式图形界面的优点,着重分析了QT在软件开发中的编程机制。

并根据嵌入式应用的特点对嵌入式终端下的网络聊天系统进行了需求分析,概要设计,详细设计。

最后对关于论文的进一步的改进方向进行了简要的分析。

本文讨论的内容采用QT软件进行图形界面设计,利用软件自带的库,实现软件界面的设计,本次研究实现类似于QQ的网络聊天方式,多个客户端可同时登陆服务器,并且客户端之间可进行通信。

关键词:嵌入式;QT;网络聊天Abstract目录中文摘要英文摘要目录引言第一章Linux和QT的简介第二章软件需求分析第三章网络聊天系统的概要设计第四章网络聊天系统的详细设计第五章系统测试第六章系统运行和维护第七章结语第八章参考文献第九章附录第十章后记引言随着嵌入式产品的高速发展,大多数嵌入式操作系统拥有网络和图形界面的工程。

利用源代码开发的Linux搭建的嵌入式操作系统,拥有Linux具有开源,完全免费,和其强大的网络功能,越来越多的嵌入式产品都采用Linux操作系统。

它能提供全功能的桌面计算,并且支持大多数嵌入式操作系统上使用的芯片,包括ARM,Power PC和MIPS等。

在嵌入式上使用轻量级,高性能,高可靠,可配置的GUI系统成为可行的解决方案。

虽然市场上出现了许多优秀的图形界面可发软件,但是随着计算机技术的高速发展,当新硬件,新技术出现时,计算机的体系结构, ,指令系统,和操作系统都可能发生相应的变化,这势必会导致一部分应用软件在新的平台上无法运行,可移植性不行,但是QT基于跨平台的特点,它能解决这个问题,极大地提高了应用程序的可移植性。

在线聊天系统毕业设计论文

在线聊天系统毕业设计论文

摘要随着Internet技术的飞速发展,网络已经成为人们生活中不可缺少的一部分,通过聊天室在线聊天已成为网络上人与人之间沟通、交流和联系的一种方式。

为此,越来越多的网站开始提供在线聊天的功能。

与此同时,聊天室也以其方便、快捷、低成本等优势受到众多企业的青睐,很多企业的网站中也加入了聊天室模块,以达到增进企业与消费者之间、消费者与消费者之间相互交流的目的。

本文是软件工程在线聊天室系统的开发说明,重点运用软件工程知识对系统进行分析、设计实现和测试的思想的具体描述,其中包括软件生命周期的三个主要方面:软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码、测试)和运行维护。

通过实际的运用软件工程知识处理问题,加强程序的规范性、清晰性、可靠性,并且使得程序易于维护。

本软件使用JAVA进行编写,具有良好的兼容性且易于实现。

聊天室操作简洁容易上手、结构简单、查找方便、实用性强。

关键字:网络、通信、套接字、连接目录序言 (3)第一章 VisualC++及Socket套接字介绍 (5)一 VisualC++ 介绍 (5)二 Socket套接字介绍 (6)第二章软件需求分析 (15)一系统客户要求 (15)二系统详细设计 (16)三系统开发目标 (17)四系统开发思路 (17)五需求总结 (18)第三章系统具体实现 (21)一概要设计 (21)二定义服务器端和客户端的通信结构及含义 (22)三服务器端的实现流图 (25)四客户端的实现流图 (28)第四章系统测试 (30)第五章系统运行和维护 (32)第六章结束语 (33)参考文献 (34)序言随着现代技术的不断输入和信息化的广泛普及,网络作为一种新兴事物,在近些年得到了前所未有的普及和深入,网络上的各种应用层出不穷,给各个阶层、各个年龄段的用户提供了不同的个性化的服务。

而现代中小型企业的领导认识到进一步提高企业信息化的必要性。

为使企业能在瞬息万变的信息时代生存下去,适应激烈的市场竞争,现代企业要求正加员工之间的交流和通信能力,尤其是领导和员工之间的共同能力,实时的交流系统就是在这种条件下诞生的。

本科毕业论文---基于qt的局域网聊天室 ui界面和消息发送、接收模块

本科毕业论文---基于qt的局域网聊天室  ui界面和消息发送、接收模块

课程设计报告题目:基于QT的局域网聊天室—UI界面和消息发送、接收模块课程名称:嵌入式系统应用开发院部名称:计算机工程学院专业:计算机科学与技术班级:计算机科学与技术(2)班课程设计书写要求课程设计报告原则上要求学生手写,要求书写工整。

若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。

纸张一律采用A4的纸张。

课程设计报告书写说明课程设计报告应包含一下七部分内容:1、摘要 2、目录 3、前言/引言 4、正文 5、结论、6、参考文献 7、附录,每部分的书写要求参见具体条目要求。

填写注意事项(1)准确说明,层次清晰。

(2)尽量采用专用术语来说明事物。

(3)外文、符号、公式要准确,应使用统一规定的名词和符号。

(4)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

课程设计报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。

实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

课程设计题目:基于QT的局域网聊天室—UI界面和消息发送、接收模块一、摘要嵌入式系统是软件和硬件的综合体,嵌入式系统是与应用紧密结合的,具有很强专用性,必须结合实际系统需求进行合理的裁减利用。

嵌入式在电子行业的应用很广泛,学习嵌入式显得非常重要。

这次课程设计的主要目的是检验学习qt软件后的效果。

通过基础题的代码编写,熟悉C++语言编程技巧。

通过完成聊天程序的设计,熟悉嵌入式底层编程。

利用QT设计界面,缩短开发时间。

关键字:嵌入式、tcp SOCKET、QT软件二、目录一、摘要 (1)二、目录 (2)三、前言/引言 (3)四、正文 (4)4.1 原理与关键技术 (4)4.1.1条件与限制 (4)4.1.2开发环境说明 (4)4.1.3运行环境说明 (4)4.1.4设计思路的分析和可行性 (4)4.1.5信号和槽机制 (4)4.1.6聊天平台的设计思想 (5)4.1.7技术路线 (5)4.2 系统的总体设计 (6)4.2.1界面设计 (6)4.2.2服务器端的设计 (7)4.2.3客户端的设计 (8)4.3各个模块的具体实现过程 (9)4.3.1主界面设计主要代码分析 (9)4.3.2服务器端主要程序代码分析 (11)4.3.3客户端主要程序代码分析 (12)五、结论 (14)六、参考文献 (15)七、附录 (16)三、前言/引言局域网聊天工具,是在局域网内部使用的,用户之间用来交流的一个工具,一般都具有文本聊天和文件传输功能。

局域网聊天软件的设计与实现毕业论文

局域网聊天软件的设计与实现毕业论文

郑州轻工业学院本科毕业设计(论文)题目局域网聊天软件的_______设计与实现_____ 学生姓名****专业班级***********学号1234567890院(系)计算机与通信工程学院指导教师(职称) ***(讲师)****(副教授)完成时间2015年5月30日郑州轻工业学院毕业设计(论文)任务书题目局域网聊天软件的设计与实现专业***学号*********姓名*****主要内容、基本要求、主要参考资料等:主要内容:1。

客户端的设计和实现2. 服务器的设计和实现3。

多用户聊天及文本文件的传输基本要求: 1. 熟悉TCP通信协议以及编程、socket网络编程2。

熟悉多线程和多进程、线程同步3. 熟悉linux系统下的文件传输主要参考资料:[1]何波玲,绥菱歌。

TCP/UDP下一种网络透明传输服务编程接口是实现方法[J]。

哈尔滨师范大学自然科学学报,2011,27(6):56-60。

[2]殷晓辉.基于linux操作系统的网络编程方法研究[J]。

科技传播,2011,4(13):210-211.[3] 张海光。

浅谈Linux操作系统下的多线程编程[J]。

华南金融脑,2006,9(3):172-184。

完成期限:2015 年5月30日指导教师签名:专业负责人签名:2015年1月12 日目录摘要 ................................................................................................................................................ ABSTRACT.. (I)1引言 01.1开发背景 01。

2 网络聊天室的现状及发展 (1)1.3 课题研究的意义 (2)2 开发平台及技术支持 (3)2。

1 开发环境 (3)2.2 系统实现技术 (3)2。

2.1网络传输层协议—TCP/IP 协议 (3)2。

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

目录摘要 (I)Abstract .................................................................................................................................... I I 1 引言. (1)1.1 课题背景及意义: (1)1.2 课题现状 (2)1.3 本文的主要工作: (3)1.4开发平台与技术的选择及介绍 (3)1.4.1 开发环境的介绍 (3)1.4.2 WINDOWS SOCKETS网络编程接口概述 (4)1.4.3 VC++6.0开发平台简介 (5)2 需求分析及可行性研究 (5)2.1 需求分析: (5)2.1.1 时间要求 (5)2.1.2 功能要求 (5)2.1.3 系统基本流程图 (6)2.1.4 性能要求 (6)2.1.5 测试环境规定 (7)2.2 可行性研究: (7)3 相关开发技术的原理性说明 (7)3.1 win32编程原理及MFC框架 (7)3.1.1 WIN32编程原理 (7)3.1.2 MFC框架 (10)3.2 TCP/IP 协议及WINDOWS SOCKETS网络编程接口 (12)3.2.1 TCP/IP协议简介 (13)3.2.2 WINDOWS SOCKETS网络编程接口概述 (15)3.3 多线程编程技术 (17)3.3.1 进程及线程概述 (17)3.3.2 Win32 API对多线程编程的支持 (18)4 总体设计 (20)4.1体系结构设计 (20)4.2 功能模块划分 (21)4.3 数据结构设计 (22)4.4 用户界面设计 (24)4.4.1 服务器端显示界面: (24)4.4.2 客户端显示界面: (25)5 详细设计及编码实现 (25)5.1 主框架及用户界面模块详细设计 (25)5.2 网络扫描模块详细设 (27)5.3 信息发送模块详细设计 (28)5.4 信息接收模块详细设计 (29)6 测试 (29)结论 (30)致谢 (32)参考文献 (33)摘要随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信息发布,通信,数据共享等等。

局域网的发展也同样迅速。

很多政府机构,企业,学校,都是先以一个统一的局域网联结在一起,再分别接入INTERNET.因此基于局域网的即时通信工具,就这样应运而生了。

所以本文提出了一个更加合理的设计,并在WINDOWS 平台上加以了实现.在本实现内将客户端和服务端综合在一个程序之内,用多线程实现不同的并行任务。

并进行了人性化的界面设计,使用起来更加简单方便,并且功能十分合理,又易于扩展以及个性化定制。

本文通过局域网聊天系统来具体共享内存实现进程间的数据交换,利用windows消息机制实现进程间的同步,两种机制结合使用。

关键词:局域网;即时通信;客户端;服务端;多线程;共享内存;信息AbstractAlong with the high-speed development of the computer network technology, various of applications based on network was born, like information releasing, data sharing ... The development of the LAN is the same fast. Some governments, enterprises and schools constitute a LAN first ,then join into INTERNET. So the instant messenger in LAN was borned. So I make a new design, and implement it on WINDOWS platform. In my implementation the client and the server were integrated in one program with multi thread mechanism. And had a good GUI,it was very easy to use it. And the function is very realizable. At last, it is also easy for expanding.Key words: LAN, instant messaging, client, server, multi thread,share memory,Information1 引言1.1 课题背景及意义:近年来,随着全球信息化进程的不断发展,网络也在飞速发展。

出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。

在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。

然而,随着企业规模的扩大,业务量的增加,在局域网上运行的应用越来越多,如知识库、网络会议、数据库应用和数据的同步与备份等,这些应用对局域网的信息吞吐、处理能力的要求也越来越高。

这些在企业内部原有局域网设计之初未曾考虑到的新情况的出现使得局域网不堪重负,容易发生信息阻塞,此时,局域网不但不能提高生产效率,反而成为企业发展的瓶颈。

为了解决上述矛盾,人们提出了许多方法。

提升网络带宽及增加服务器的吞吐能力是解决此矛盾的一种方法。

然而,从企业运行的成本方面考虑,无论是单纯地提升网络带宽或增加服务器的吞吐能力都不能从根本上解决局域网资源紧张的问题,对旧有局域网的大规模硬件改造反而会增加企业的负担。

我在本文中将讨论一种基于Socket的局域网通信工具的设计与实现方法。

基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。

它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。

基于Socket的局域网聊天工具是此类局域网通信软件的具体实例之一,它很好地诠释了Socket通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。

它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。

基于Socket的局域网通信软件应用范围广阔,不但可以处理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广泛的应用前景。

1.2 课题现状基于局域网的即时通信工具,实际上是互联网即时通信工具的一个小规模版本,广域网上的即时通信工具,如今一般采用UDP或者TCP协议体系来实现,开发技术已经比较成熟,比如较早的ICQ,MSN Messanger,Yahoo 通这些国外开发的产品,还有国产的有名的QQ,新浪UC,LA V A-LA V A等,这些工具统统都实现了广域网上的即时通信,尽管都是即时通信,实现了即时聊天,以及文件传输的主要功能,但是也各有各的特色,比如ICQ的巨大客户群,MSN的个性化表情,YAHOO通的易操作性等。

而QQ也具有一个相当方便的屏幕截图功能,另外就是,所有上述软件都实现了网络即时的视频,语音聊天功能。

这些软件,在使用方面各有特色,在实现方面也各有所长,但基于这些产品正在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是它在大的方面无非就是各种利用各种平台上的网络通信接口,建构基于下层TCP/IP,或者UDP/IP协议的软件产品。

在局域网内,这些功能的实现跟广域网相比更加简单,因为局域网的网络结构本身比广域网要复杂,但是又可以借些理解网络协议,以及网络通信工具的实现原理,所以仍然极具研究价值。

1.3 本文的主要工作:本文主要工作是设计一个基于WINDOWS平台的局域网即时聊天工具,然后阐述本软件的功能、特点及使用方法,并详细阐述开发本软件所用的相关技术,具体分析本软件的各个模块的功能及实现方法,说明本软件的设计思想及方法。

1.4开发平台与技术的选择及介绍1.4.1 开发环境的介绍我所设计的是一个面向中小型机构内部通信需求的局域网即时信息软件,要在短时间内开发出来并且要满足客户要求,无论是硬件还是软件都要选择合适,要求如下:开发设备应该完备;开发机器的性能必须稳定;操作系统的选择必须恬当;开发出的程序可以在尽可能多的平台上运行;要求运行机配置尽可能低档。

对此,我们选择的硬件环境和软件环境如下:(1) 硬件环境开发该系统应尽可能采用高档的硬件。

因此,在应用时应采用更好的配置。

处理器:Intel Pentium PIII或更高处理器。

内存:128MB或更高。

网络:局域网。

(2) 软件环境选择好的操作系统和好的编程语言是系统优劣的关键,我们要求系统在尽可能多的环境下运行,故选择Windows XP平台,对于一些无法在98中运行的API函数,一律不采用,并采取优化的算法编写程序。

因VC6.0具有友好的集成开发界面、面向对象的可视化开发模式、良好的数据库及多媒体应用支持以及高效的软件开发与程序运行,功能更大,开发效率更高,不仅是网络环境下的优秀前端开发语言和工具,也是服务器端Web编程的优秀工具。

加之我本人对本系统的操作最为熟练,所以选择该平台为开发环境。

操作系统:Windows XP或Window2000。

开发工具:VC++6.0。

1.4.2 WINDOWS SOCKETS网络编程接口概述既然选定了WINDOWS平台,而又要开发网络通信程序,所以可以选择WINDOWS的SOCKETS编程接口,Windows Sockets是一套开放的、支持多种协议的Windows下的网络编程接口。

现在的Winsock已经基本上实现了与协议无关,你可以使用Winsock来调用多种协议的功能,但较常使用的是TCP/IP协议。

Winsockets无疑是我们进行网络编程的利器。

1.4.3 VC++6.0开发平台简介开发平台我选用了VC6.0,因为一直以来都使用VC6进行学习,对这个IDE最为熟悉,再者VC同样是由微软开发的系统,与其操作系统,网络接口具有最为密切的契合优点,所以选择了VC6.0。

2 需求分析及可行性研究2.1 需求分析:2.1.1 时间要求本项目作为大学本科毕业设计题目,从3月8号接受选题开始,在5月10号之前完成系统设计,编码实现工作,在5月20号之前完成毕业设计论文初稿,6月1号之前最终完成论文。

2.1.2 功能要求(1)用户端之间的信息发送,本程序需要实现的最基本的功能(2)在线用户主机名列表的维护。

相关文档
最新文档