2024年4月29日发(作者:)
第一章 引言
1.1 课题背景及意义
即时聊天工具是一种可以让使用者在网络上实时通讯的工具,大部分的即时通讯工具
提供了状态信息的特性,如显示联络人名单,联络人是否在线及能否与联络人交谈等。目
前在互联网上受欢迎的即时通讯软件包括百度QQ、MSN Messenger、Yahoo! Messen
ger、AOL Instant Messenger、NET Messenger Service、Jabber、ICQ等。
在本文中将讨论一种基于MFC Socket的局域网通信工具的设计与实现方法。基于M
FC Socket的局域网通信软件可以为局域网提供一种良好、安全、快速的通信机制,在局
域网内部通信、教学、讨论等应用中都具有一定的实用价值,它同时很好地诠释了MFC
Socket通信的原理。基于Socket的局域网通信软件应用范围广阔,不但可以处理传统的
通信需求,而且也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广
泛的应用前景。
1.2 课题现状
基于局域网的即时通信工具,实际上是互联网即时通信工具的一个小规模版本,广域
网上的即时通信工具,如今一般采用UDP或者 TCP协议体系来实现 ,开发技术已经比
较成熟,比如较早的ICQ、MSN Messenger、YAHOO通等国外开发的产品,还有国产
的有名的QQ、新浪UC、LAVA-LAVA等,这些工具统统都实现了广域网上的即时通信,
尽管都是即时通信,实现了即时聊天,以及文件传输的主要功能,但是也各有各的特色,
比如ICQ的巨大客户群,MSN的个性化表情,YAHOO通的易操作性等,而QQ也具有
一个相当方便的屏幕截图功能,另外就是,所有上述软件都实现了网络即时的视频,语音
聊天功能。这些软件,在使用方面各有特色,在实现方面也各有所长,但由于这些产品正
在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是它在大的方面无
非就是各种利用各种平台上的网络通信接口,建构基于下层TCP/IP,或者UDP/IP协议的软
件产品。在局域网内,这些功能的实现跟广域网相比更加简单,因为局域网的网络结构本
身比广域网要简单,但是可以借此理解网络协议,以及网络通信工具的实现原理,所以仍
然极具研究价值。
1.3 开发平台、开发技术的介绍
1.3.1 Windows Socket 网络编程简介
Windows Sockets 规范以U.C. Berkeley 大学BSD UNIX 中流行的Socket 接口
为范例定义了一套开放的、支持多种协议的、Microsoft Windows 下的网络编程接口,
并不是一种网络协议。它不仅包含了人们所熟悉的Berkeley Socket 风格的库函数;也包
含了一组针对Windows 的扩展库函数,以使程序员能充分地利用Windows 消息驱动机
制进行编程。
Windows Sockets 规范本意在于提供给应用程序开发者一套简单的API,使应用程
序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。现在的
Windows Sockets已经基本上实现了与协议无关,你可以使用Windows Sockets来调
用多种协议的功能,但较常使用的是TCP/IP协议。Socket实际在计算机中提供了一个通
信端口,可以通过这个端口与任何一个具有Socket接口的计算机通信。应用程序在网络
上传输,接收的信息都通过这个Socket接口来实现。
微软为VC定义了Windows Sockets类如CAsyncSocket类和派生于CAsyncSock
发布评论