1 / 38
文档名称:

课程设计报告.doc

格式:doc   大小:393KB   页数:38页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

课程设计报告.doc

上传人:rovend 2018/11/7 文件大小:393 KB

下载得到文件列表

课程设计报告.doc

相关文档

文档介绍

文档介绍:课程设计报告
课程名称 Vc环境下的Windows编程
题目聊天通讯软件
指导教师侯霞
设计起止日期 -
系别计算机学院
专业计算机科学与技术
学生姓名李杜松
班级/学号计0402/12
成绩
一、功能说明 3
二、课程设计开发环境: 3
1、套接字的介绍 3
2、Win sock的介绍 4
、Socket API 4
、CAsyncSocket 5
、CSocket 6
3、CSocket使用 6
三、工程及设计 8
1、需求分析 8
8
8
8
8
2、概要设计 8
8
9
9
10
: 10
3、详细设计 10
10
10
10
11
(服务器端) 11
(客户端) 16
4、程序实现 18
18
19
5、测试计划 19
(连接与断开) 19
(用户名传输) 21
(发送与过滤) 22
6、总结报告 24
24
24
25
25
25
7、程序附录 26
26
26
四、参考文献 38
一、功能说明
1、 支持多个客户段在同时连接,在服务器和多个客户段之间进行数据传输;
2、 接受客户端发送信息显示在一个列表框内;
3、 在用户进入和离开时,发布适当的问候和欢迎信息;
4、 将接受的某一客户段的信息发给所有其他客户端程序,实现聊天室信息同步;
5、 当服务器停止服务,向每个连接客户端发送服务终止通告。
二、课程设计开发环境:
操作系统:Windows XP
开发工具:Visual C++
网络环境:互联网,局域网,本机自联均可
1、套接字的介绍
的迅速发展,越来越多的程序具备了网上与其它程序通信的能力。无论是在局域网还是广域网,软件的通信都采取同样的原则。类似如下图:(TCP/IP)
发送连接请求
发送连接请求
发送连接请求
客户机
服务器(监控)

首先,一台计算机中某个程序等带领一个程序的连接请求,这个应用程序正在“监听”种种连接请求,就像你在等待某人来电话时守在电话机旁一样。同时,另一个应用程序试图与第一个程序连接。这种打开连接的做法与你打电话类似。就像在打电话时你必须知道对方的电话号码一样,应用程序要建立连接也必须知道对方网络地址。

但是你的电脑程序从逻辑上不可能只用这一个地址来完成成千上万个程序的通信,所以除了网络地址(ip)端口孕育而生。每一个端口从逻辑上就解决了对每一个程序使用网络接口通信的问题。

套接子,就等于是把端口,ip等网络接口这功能和在一起的一个网络编程接口。通过他从逻辑的角度简化了通讯的接口。这样套接口通过下面的方法工作,事实上我的程序也是类似这么做的。
服务器端


服务器套接口群
客户端套接口
客户端套接口
客户端套接口
客户端套接口
客户端
客户端
客户端
客户端
这样,我们只要了解学****套接口的原理和类方法,就可轻松实现程序网络互联通信。
2、Win sock的介绍
因为程序的核心就是要依靠MFC封装类CSocket来实现。所以下面把CSocket类以及它的周边作一些介绍。
首先Socket有同步阻塞方式和异步非阻塞方式两种使用,事实上同步和异步在我们编程的生涯中可能遇到了很多,而Socket也没什么特别。虽然同步好用,不费劲,但不能满足一些应用场合,其效率也很低。
也许初涉编程的人不能理解“同步(或阻塞)”和“异步(或非阻塞)”,其实简单两句话就能讲清楚,同步和异步往往都是针对一个函数来说的,“同步”就是函数直到其要执行的功能全部完成时才返回,而“异步”则是,函数仅仅做一些简单的工作,然后马上返回,而它所要实现的功能留给别的线程或者函数去完成。例如,SendMessage就是“同步”函数,它不但发送消息到消息队列,还需要等待消息被执行完才返回;相反PostMessage就是个异步函数,它只管发送一个消息,而不管这个消息是否被处理,就马上返回。
、Socket API
首先应该知道,