基于局域网的视频聊天室系统的设计与实现论文

合集下载

基于局域网的即时通讯聊天室系统设计设计(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 staff of 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 概述-------------------------------------------------------------------------------------------------- 1 1.1 系统现状 ------------------------------------------------------------------------------------------------ 1 1.2 系统内容与目标 --------------------------------------------------------------------------------------- 21.3 系统综述 ------------------------------------------------------------------------------------------------ 22 系统开发环境和关键技术----------------------------------------------------------------------3 2.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结构(客户机/服务器模式) ---------------------------------------------------------------- 83 系统分析与设计---------------------------------------------------------------------------------- 9 3.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 概述近年来,随着全球信息化进程的不断发展,网络也在飞速发展。

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

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

本科生毕业论文论文题目:局域网聊天工具的设计与实现外文题目: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课题背景及意义随着计算机科学技术的飞速发展,网络越来越深刻的改变着人们生活方方面面。

基于TCPIP的局域网聊天室的设计与实现

基于TCPIP的局域网聊天室的设计与实现

学士学位论文基于TCP/IP的局域网聊天室的设计与实现姓名:学号:指导教师:学院:专业:完成日期:学士学位论文基于TCP/IP的局域网聊天室的设计与实现姓名:学号:指导教师:学院:专业:完成日期:摘要随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信息发布,通信,数据共享等等。

局域网的发展也同样迅速.很多政府机构,企业,学校,都是先以一个统一的局域网联结在一起,再分别接入INTERNET。

因此基于局域网的即时通信工具,就这样应运而生了.所以本文提出了一个更加合理的设计,并在WINDOWS平台上加以了实现.在本实现内将客户端和服务端综合在一个程序之内,用多线程实现不同的并行任务。

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

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

局域网聊天室作为一种新型的聊天工具可以提供更为及时、可靠、突破了必须有外界网络接入等优点,具有极其广泛的发展前景.本文介绍了采用JAVA编程开发局域网聊天系统的一套比较常用的解决方案。

采用TCP模式进行文字聊天, 在客户端之间点对点(C/C)的进行。

本系统采用典型的C/S(客户端/服务器)的框架模式,在该方案中采用Socket (套接字)原理实现网络通信,最终实现了通过服务器中转的文字聊天、文件传输功能,从而大大降低了程序的开发难度。

本系统主要包括登陆、聊天、好友列表和服务器管理几个部分。

本系统从需求分析、系统的设计、功能的实现都严格遵循了软件工程设计的思想.【关键词】Socket;TCP/IP;C/S;局域网聊天室AbstractWith the development of computer network technology,a variety of Web-based applications also will be the birth,such as Internet-based information release, communications, data sharing, and so on. LAN development is quickly. Many government agencies,businesses,schools,are first linked together in a unified LAN,respectively connected to the INTERNET, LAN-based instant messaging tool, and thus came into being。

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

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

第一章绪论1.1 课题背景随着Internet的不断发展普及,网络通讯成为人们生活中的一部分。

网络聊天已和手机等一样,成为人们运用最为广泛的通信工具之一。

即时通讯(Instant Messenger,简称IM)软件可以说是目前我国上网用户使用率最高的软件,无论是老牌的ICQ,还是国内用户量第一的腾讯QQ,以及微软的MSN Messenger都是大众关注的焦点,它们能让你迅速地在网上找到你的朋友或工作伙伴,可以实时交谈和互传信息。

而且,现在不少IM软件还集成了数据交换、语音聊天、网络会议、电子邮件的功能。

IM软件的历史并不久远,但是它的出现,就立即受到大家的喜爱,并风靡全球。

在它的发展史上,以色列人是功不可没的。

正是四位以色列年轻人,在1996年7月成立的Mirabilis公司,并于同年11月推出了全世界第一个即时通讯软件ICQ,取意为“我在找你”——“I Seek You”,简称ICQ了。

直到现在,ICQ已经推出了它的2002a版本,在全球即时通讯市场上占有非常重要的地位。

目前,国内最为流行的即时通讯软件是OICQ(简称QQ)。

它以良好的中文界面和不断增强的功能形成了一定的QQ网络文化。

Messenger虽出道较晚,但依托微软的强大背景,实力也不可小视。

作为Windows XP的一部分,Messenger 整合了操作系统的许多功能,体现出了微软的真正实力所在,如多种形式的聊天选择、多人的单窗口讨论式交流以及充分的文件与桌面共享功能等。

它的令人耳目一新的中文界面和注册方式,连同它强大的功能,着实吸引了众多的眼球的注视,此外还有许多有特点的IM软件。

我们经常听到TCP/IP和UDP(用户数据报协议)这两个术语,它们都是建立在更低层的IP协议上的两种通讯传输协议。

TCP/IP是以数据流的形式,将传输数据经分割、打包后,通过两台机器之间建立起的虚电路,进行连续的、双向的、严格保证数据正确性的文件传输协议。

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

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

局域网聊天工具的历史与发展
早期局域网聊天工

早期的局域网聊天工具多为企业 内部自行开发的简单通讯软件, 功能较为单一。
现代局域网聊天工

随着互联网技术的发展,现代的 局域网聊天工具功能更加丰富, 支持文字、语音、视频等多种通 讯方式,同时还具备文件传输、 会议协作等功能。
未来发展趋势
未来局域网聊天工具将更加注重 个性化定制、人工智能技术的应 用以及跨平台兼容性等方面的提 升。
03
测试结果:各功能模块运行正常,无严重漏 洞和错误。
04
优化建议:提高系统性能、优化用户体验、 加强安全性。
05 局域网聊天工具的应用与 展望
应用场景与优势
应用场景
局域网聊天工具主要适用于企业、学 校、机关等内部网络环境,方便内部 员工或学生之间的即时通讯。
安全性
由于只在局域网内通讯,可以有效防 止外部攻击和窃取信息。
强化信息安全管理
03
建立完善的信息安全管理制度和技术防范措施,确保数据安全。
06 结论
研究成果总结
技术实现 成功地设计并实现了一个基于局 域网的聊天工具,支持文字、语 音和文件传输功能,具有高效、 稳定和安全的特点。
安全性评估 经过多次安全漏洞扫描和攻击模 拟测试,该聊天工具未发现任何 严重安全漏洞,保障了用户数据 的安全。
02 局域网聊天工具概述
局域网聊天工具的定义与特点
定义
局域网聊天工具是指在局域网(Local Area Network, LAN)环境中使用的即 时通讯软件,允许用户在一定范围内进行实时的文字、语音、视频通讯。
特点
局域网聊天工具具有高速、稳定、安全的特点,适用于企业内部沟通、会议协 作、团队协作能完善、安全 可靠的局域网聊天工具,满足企 业或团队内部沟通需求。

网络聊天室的设计与实现毕业论文

网络聊天室的设计与实现毕业论文

中南大學CENTRAL SOUTH UNIVERSITY毕业论文(设计)课题名称: 网络聊天室的设计与实现设计者: 指导老师:院系:专业班级:完成时间:中南大学本科生毕业论文(设计)任务书毕业论文(设计)题目:网络聊天室的设计与实现题目类型[1]软件开发题目来源[2]生产实际题毕业论文(设计)时间从2010年12月05日至2012年5月15日1.毕业论文(设计)内容要求:网络的迅速普及,网民数量的快速增长,导致了新型的聊天方式(网络聊天室)的出现,设计一个合理的网络聊天室,快速的聚集网民,提高网站的访问量,对提高网站的知名度具有良好的现实意义。

本毕业设计的的具体任务要求如下:1、应用计算机中的网络技术及其相关技术设计一个网络聊天室。

2、实现对网络聊天室的访问人数的统计功能。

3、实现网络聊天室的发布信息的检索与过滤,如有非法信息,则不允许提交。

4、实现网络聊天室的发布与测试。

[1]题目类型:(1)理论研究(2)实验研究(3)工程设计(4)工程技术研究(5)软件开发[2]题目来源:(1)教师科研题(2)生产实际题(3)模拟或虚构题(4)学生自选题2.毕业论文(设计)主要参考资料主要参考书类:1、梁晓晖,来继敏主编;ASP。

NET 2.0(C#)网站开发实用教程北京:机械工业出版社2、谭浩强主编;计算机网络教程北京:电子工业出版社3、(美)波奈尔著,韩宏志译;数据库设计与开发教程北京:清华大学出版社主要参考杂志类:计算机网络数据库网络开发工具以及网上的一些相关资料。

3.毕业论文(设计)进度安排指导教师(签名)时间:年月日教研室(所)主任(签名) 时间:年月日主管院长(签名)时间:年月日中南大学毕业论文(设计)成绩评定表(一)指导教师评语该论文撰写符合规范要求。

毕业论文设计中具有一定的创新观点,设计思想比较清晰,对应用的开发工具能够比较熟练的掌握运用,设计的软件功能也比较完善,基本实现了毕业任务书中下达的毕业设计要求。

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

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

局域网聊天室系统的设计与实现介绍局域网聊天室系统是一种在同一个局域网内,让用户可以实现即时通讯的应用程序。

该系统可以实现用户之间的文本、图片、声音等多媒体文件的传输和交流。

本文将介绍局域网聊天室系统的设计思路和具体实现。

系统设计功能需求局域网聊天室系统主要包括以下功能需求:1.用户注册和登录:用户可以通过注册账号和密码,然后通过登录来访问系统。

2.创建聊天室:用户可以创建一个新的聊天室,并设置聊天室的名称和属性。

3.加入聊天室:用户可以通过输入聊天室的名称或者通过搜索来加入到指定的聊天室中。

4.聊天功能:用户可以在聊天室中发送和接收文本消息、图片、声音等多媒体文件。

5.文件传输:用户可以通过系统传输文件,包括发送和接收文件。

6.群组管理:用户可以在聊天室中建立和管理用户群组。

系统架构局域网聊天室系统的系统架构可以分为前端和后端两个部分。

1.前端:前端主要负责用户界面的展示和用户输入的响应。

用户可以通过前端页面来进行注册、登录、创建聊天室、加入聊天室、发送消息等操作。

前端还需要与后端进行通信,传输数据和接收服务器返回的结果。

2.后端:后端主要负责处理前端发起的请求,并进行相应的处理和返回结果。

后端需要处理用户的注册和登录请求,聊天室的创建和加入请求,消息的传输等功能。

同时,后端需要进行用户的身份验证、聊天室的资源管理、消息的传输和实时更新等工作。

技术选型•前端界面:使用HTML、CSS和JavaScript等前端开发技术,可以选择Vue.js或React等前端框架。

•后端开发:可以使用Java、Python、Node.js等后端开发语言来实现服务器端业务逻辑和数据库操作。

•数据库:可以选择关系型数据库MySQL或非关系型数据库MongoDB来存储用户信息、聊天记录等数据。

•通信协议:可以选择WebSocket协议来实现实时通信功能。

系统实现以下是局域网聊天室系统的实现步骤:1.搭建前端界面:使用HTML、CSS和JavaScript等前端开发技术,搭建用户界面,包括登录、注册、聊天室列表、聊天室页面等。

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

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

摘要在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的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等。

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

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

本文介绍了采用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)结论 (21)参考文献 (22)致谢 (23)声明 (24)1引言1.1课题背景随着Internet的不断发展普及,网络通讯越来越被千家万户所接受,成为人们生活中的一部分。

网络聊天已和手机等一样,成为人们运用最为广泛的通信工具之一。

本毕业设计的目的主要是为了满足人们通讯交流的便捷,实现灵活、全面的音、视频信息的传递和服务。

模拟腾讯公司的QQ聊天软件,开发一个多功能的聊天系统软件,本毕业设计主要实现视频语音聊天、文字聊天等功能。

1.2国内外研究现状随着网络宽带业务的推广与普及,加之视频产品设备(如摄像头、耳机、麦克风等)的成熟,普通用户可以轻松地借助网络视频通讯软件,实现“面对面”的网络交流。

信息的无限量扩大,交通工具的便捷,视频技术的充分应用等导致了行业间竞争的全球化,这就要求现代部门、企业要具备更加灵敏的神经,更扁平化的管理,更快速的反应和决策,更贴切的市场宣传和服务。

所有这一切是由信息技术的发展所带来的,同样也要求有先进的信息技术来提高部门、企业的竞争力。

现代通讯已经是越来越普及了,必须有效合理的运用视频产品类设备来提高信息的传递和交流。

在同一个局域网中,充分、合理的运用摄像头、耳机、麦克风等设备来实现文字聊天和语音视频聊天更是我们生活、学习、工作的便利所在。

2理论知识介绍2.1VFW简介VFW是Microsoft 1992年推出的关于数字视频的一个软件包,它能使应用程序数字化并播放从传统模拟视频源得到的视频剪辑。

VFW的一个关键思想是播放时不需要专用硬件,为了解决数字视频数据量大的问题,需要对数据进行压缩。

它引进了一种叫AVI的文件标准,该标准未规定如何对视频进行捕获、压缩及播放,仅规定视频和音频该如何存储在硬盘上,以及在AVI文件中交替存储视频帧和与之相匹配的音频数据。

VFW给程序员提供VBX和AVICap窗口类的高级编程工具,使程序员能通过发送消息或设置属性来捕获、播放和编辑视频剪辑。

用户不必专门安装VFW,在安装Windows时,安装程序会自动地安装配置视频所需的组件,如设备驱动程序、视频压缩程序等。

VFW主要由以下六个模块组成:(1)AVICAP.DLL:包含了执行视频捕获的函数,它给AVI文件、I/O和视频音频设备驱动程序提供一个高级接口;(2)MSVIDEO.DLL:用一套特殊的DrawDib函数来处理屏幕上的视频操作;(3)MCIAVI.DRV:此驱动程序包括对VFW的MCI命令的解释器;(4)AVIFILE.DLL:支持由标准多媒体I/O(mmio)函数提供的更高的命令来访问AVI文件;(5)压缩管理器(ICM):管理用于视频压缩/解压缩的编解码器(CODEC);(6)音频压缩管理器ACM:提供与ICM相似的服务,不同的是它适于波形音频。

Visual C++在支持VFW方面提供有vfw32.lib、msacm32.lib、winmm.lib等库。

特别是它提供了功能强大、简单易行、类似于MCIWnd的窗口类AVICap。

AVICap 为应用程序提供了一个简单的、基于消息的接口,使之能访问视频和波形音频硬件,并能在将视频流捕获到硬盘上的过程中进行控制。

AVICap支持实时的视频流捕获和单帧捕获,并提供对视频源的控制。

虽然MCI也提供数字视频服务,比如,它为显示AVI文件的视频提供了AVIVideo命令集,为视频叠加提供了overlay命令集,但这些命令主要是基于文件的操作,不能满足实时地直接从视频缓存中获取数据的要求。

对于使用没有视频叠加能力的捕获卡的PC机来说,用MCI提供的命令集是无法捕获视频流的。

而AVICap在捕获视频方面具有一定的优势,它能直接访问视频缓冲区,不需要生成中间文件,实时性很强,效率很高。

同时,它也可将数字视频捕获到文件。

在视频捕获之前需要创建一个捕获窗,所有的捕获操作及其设置都以它为基础。

用AVICap窗口类创建的窗口(通过capCreateCaptureWindow函数创建)被称为“捕获窗”,其窗口风格一般为WS_CHILD和WS_VISIBLE。

实际上,捕获窗类似于标准控制(如按钮、列表框等)。

捕获窗具有下列功能:(1)将视频流和音频流捕获到一个AVI文件中;(2)动态地同视频和音频输入器件连接或断开;(3)以Overlay或Preview模式对输入的视频流进行实时显示;(4)在捕获时可指定所用的文件名并能将捕获文件的内容拷贝到另一个文件;(5)设置捕获速率;(6)显示控制视频源、视频格式、视频压缩的对话框;(7)创建、保存或载入调色板;(8)将图像和相关的调色板拷贝到剪贴板;(9)将捕获的一个单帧图像保存为DIB格式的文件。

AVICap在显示视频时提供的两种模式:(A)预览(Preview)模式:该模式使用CPU资源,视频帧先从捕获硬件传到系统内存,接着采用GDI函数在捕获窗中显示。

在物理上,这种模式需要通过VGA卡在监视器上显示。

(B)叠加(Overlay)模式:该模式使用硬件叠加进行视频显示,叠加视频的显示不经过VGA卡,叠加视频的硬件将VGA的输出信号与其自身的输出信号合并,形成组合信号显示在计算机的监视器上。

只有部分视频捕获卡才具有视频叠加能力。

灵活编写AVICap提供的回调函数还可满足一些特殊需求。

比如,将宏capCaptureSequenceNoFile同用capSetCallbackOnVideoStream登记的回调函数一起使用,可使应用程序直接使用视频和音频数据。

相关文档
最新文档