实战IM(即时通讯系统)开发——剖析.NET网络通信、音频、移动平台IM及服务器端编程
课程学习地址:http://www.ibeifeng.com/goods.php?id=174
课程试看连接:http://www.ibeifeng.com/goods.php?id=174&ct=video
本系统是国内首部讲述.NET网络通信、移动开发、服务器端编程领域的课程,通过本课程的学习您可以领略到.NET在服务器端各种优点。
一、IM(即时通讯)系统简介
IM(即时通讯)系统已经成为企业内部以及企业与客户或供应商之间沟通的重要手段,其具有即时性强、快速、方便等特点。 IM不但能进行一般的文本信息交流工具,还可以进行文件传输、语音和视频通话的功能,越来越成为企业必不可少的应用系统。
本系统全面集成当前IM所具备的功能,可以进行文本聊天、语音或视频对话、文件传输,同时还提供移动聊天功能,用户可以在智能手机上安装移动版,充分发挥当前通信技术的优势,使用户真正体验到随时随地进行沟通的便利。
本次项目实训使用Microsoft .NET技术,构建基于UDP通信协议的IM通信系统。通过本次实训,学生可以掌握基本的Windows Form开发方法,自定义控件和组件的设计,委托和事件的灵活应用,了解三层体系架构的基本原理等基础知识,还能够深入的了解文件流在网络传输中的应用和流媒体技术的基本知识以及Windows Mobile平台下UDP通信的应用等较深入的技术。
项目主要涉及的技术点:
NET网络通信、UDP点对点网络通信、UDP服务器\客户端通信、TCP/IP文件传输、UDP音频、视频对话通信、移动开发、.NET Compact Framework基础、Windows Mobile 系统基础、智能设备项目开发方法、智能设备项目发布方法、其他技术、图片在数据库中保存及显示、RichTextBox的使用、第三方控件的使用、用户控件和组件的设计和使用
二、课程内容介绍
2.1、基础篇:Windows Form开发基础
通过本环节的学习,了解Windows Form开发方法,主要包括三个部分的内容。
2.1.1、RichiTextBox的应用
通过对RichTextBox的重写,扩展展其功能,使其能够显示文本消息和图片、播放动画及文本的拖曳等功能,并能够通过其属性获取加载到其中的文本及图像等对象。
2.1.2、委托和事件
详细了解委托和事件的概念及原理,能够用户自定义控件及组件中灵活应用委托和事件,增强代码的可重用性。
2.1.3、用户自定义控件和组件
介绍用户自定义控件和组件,使开发者能够设计出通用的自定义控件或组件。
2.2、 进阶篇:三层体系架构的实现及数据库访问
2.2.1、三层体系架构的基本概念
了解三层体系架构的基本概念,掌握三层体系架构的原理,理解各层的主要职责及互相之间的关系,并动手设计三层体系结构的软件系统。
2.2.2、 ADO.NET数据库访问技术
熟悉并掌握ADO.NET数据库访问技术,灵活应用SqlClient中的各个数据库相关的类。
2.2.3、 数据访问层的实现
通过ADO.NET技术,实现数据库访问层,可以在多个项目中使用。
2.2.4、 实体层的实现
通过实体的构建,了解业务逻辑层的基本构成,以及应用。
2.2.5 、序列化与反序列化
了解二进制和XML序列化及反序列化的概念及原理,序列化和反序列化应用的范围及注意事项,以及序列化在跨平台系统中的应用。
2.3 、提高篇(1):.NET网络通信
了解基本的.NET网络通信基础,包括Socket、TCP和UDP等。
2.3.1 、UDP点对点网络通信
掌握UDP点对点通信原理,构建UDP局域网远程通信系统,了解网络通信中的协议定义及扩展方法。
2.3.2 、UDP服务器/客户端通信
通过UDP构建服务器/客户端通信系统,掌握基本的UDP打洞原理,以及服务器信息转发功能等。
2.3.3、 UDP网络文件传输
掌握UDP点对点文件传输方法,了解UDP打洞、NAT、MTU等网络传输概念。
2.4 提高篇(2):.NET网络音频和视频通信
掌握音频视频流在.NET网络中的传输和介绍以及显示技术,初步了解流媒体在网络应用中的开发技术。
2.5、提高篇(3):智能设备项目开发方法
2.5.1、智能设备程序开发基础
了解Windows Mobile平台软件开发方法,掌握智能设备软件开发及部署技术,能够熟练开发基于Windows Mobile或WinCE平台的软件系统。
2.5.2 、智能设备数据库访问技术
掌握基于Windows Mobile平台的数据库访问技术及了解Sql Server CE的访问技术。
2.5.3、网络通信技术
掌握UDP网络通信技术在Windows Mobile平台与Windows平台的应用,同时掌握基于智能设备组件和控件的重写及扩展,其中包括TabPage重写、TreeView重写,扩展相关控件的属性及事件等。
2.5.4 、智能设备项目调试与部署
掌握Windows Mobile智能设备项目的安装解决方案及部署技术。
2、6实战篇:IM(即时通讯系统)
2.6.1 、系统架构设计
对整个IM系统进行架构设计,让学员掌握软件系统架构设计方法和规律。
2.6.2、系统数据库设计
对通信系统所设计的数据库进行设计,掌握数据库设计的基本方法和步骤。
2.6.3 、抽象工厂模式及单例模式设计
介绍抽象工厂和单例两种设计模式,让学员初步掌握设计模式的概念及设计模式的作用,并通过动手设计,深入理解设计模式在软件重用设计中的重要性,以及抽象工厂模式和单例模式的应用范围及作用。
2.6.4用户登录界面设计
开始对IM通信系统客户端登的录界面进行设计,掌握用户界面设计的基本方法。
2.6.5系统主面板设计
设计通信系统的主面板界面,使其具有灵活的可配置性能以及美观大方的外观。
2.6.6、聊天功能设计
设计聊天窗体,具备文本聊天及图片收发功能,同时可以进行文件传递及音频视频聊天功能。
2.6.7、文件传输
应用前面自定义控件和组件的知识,设计开发文件传输组件,具体执行文件传输的功能。
2.6.8、语音聊天
详细介绍语音聊天所涉及的API及语音设备驱动的设计开发,掌握流媒体技术的基本知识。
2.6.9、视频聊天
详细介绍视频聊天所设计的API及屏幕截屏及图像流的处理技术,掌握流媒体高级技术。
2.6.10、移动设备聊天功能设计
设计类似于手机QQ的UDP通信系统,与Windows平台的系统进行通信,同时掌握跨平信息传递的序列化方法。
2.6.11、用户管理功能
掌握用户管理的基本知识,自定义网络通信协议。
2.6.12、 部门管理功能
掌握部门管理的基本知识,同时学习到递归方法在多级组织架构中的算法。
2.6.13 、表情发送功能
实现通信系统中的表情发送功能,了解如何通过系统自带图片减少网络传输流量。
2.7 、IM(即时通讯系统)服务器端开发
2.7.1、 Windows 服务的开发
学习Windows 服务的设计方法及原理,熟练掌握Windows 服务的开发技术及系统运行规则和安装部署技术。
2.7.2 、UDP服务器设计
设计开发基于UDP通信协议的服务器端系统,全面了解UDP通信原理,并了解自定义通信协议的使用和可扩展性。