网站大量收购独家精品文档,联系QQ:2885784924

简单网络聊天工具.doc

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简单网络聊天工具

目录 一、功能说明 3 二、课程设计开发环境: 3 1、套接字的介绍 3 2、Win sock的介绍 4 2.1、Socket API 4 2.2、CAsyncSocket 5 2.3、CSocket 6 3、CSocket使用 6 三、工程及设计 8 1、需求分析 8 1.1任务概述 8 1.2功能需求 8 1.3性能需求 8 1.4运行需求 8 2、概要设计 8 2.1总体设计 8 2.2数据结构设计 9 2.3运行设计 9 2.4出错处理设计 10 2.5出错处理对策: 10 3、详细设计 10 3.1总体设计 10 3.1.1需求概述 10 3.1.2软件结构 10 3.1.3界面总接口 11 3.2程序描述(服务器端) 11 3.3程序描述(客户端) 16 4、程序实现 18 4.1运行界面及其效果图 18 4.2运行说明 19 5、测试计划 19 5.1测试用例1(连接与断开) 19 5.2测试用例2(用户名传输) 21 5.3测试用例3(发送与过滤) 22 6、总结报告 24 6.1技术方案评价 24 6.2软件质量评价 24 6.3课程设计过程中软件开发时间分配评价 25 6.4经验与教训 25 6.5总结与体会 25 7、程序附录 26 7.1主要运行界面 26 7.2主要程序代码 26 四、 参考文献 38 一、功能说明 1、 支持多个客户段在同时连接,在服务器和多个客户段之间进行数据传输; 2、 接受客户端发送信息显示在一个列表框内; 3、 在用户进入和离开时,发布适当的问候和欢迎信息; 4、 将接受的某一客户段的信息发给所有其他客户端程序,实现聊天室信息同步; 5、 当服务器停止服务,向每个连接客户端发送服务终止通告。 二、课程设计开发环境: 操作系统:Windows XP 开发工具:Visual C++ 网络环境:互联网,局域网,本机自联均可 1、套接字的介绍 随着计算机网络的普及和Internet的迅速发展,越来越多的程序具备了网上与其它程序通信的能力。无论是在局域网还是广域网,软件的通信都采取同样的原则。类似如下图:(TCP/IP) 首先,一台计算机中某个程序等带领一个程序的连接请求,这个应用程序正在“监听”种种连接请求,就像你在等待某人来电话时守在电话机旁一样。同时,另一个应用程序试图与第一个程序连接。这种打开连接的做法与你打电话类似。就像在打电话时你必须知道对方的电话号码一样,应用程序要建立连接也必须知道对方网络地址。 但是你的电脑程序从逻辑上不可能只用这一个地址来完成成千上万个程序的通信,所以除了网络地址(ip)端口孕育而生。每一个端口从逻辑上就解决了对每一个程序使用网络接口通信的问题。 套接子,就等于是把端口,ip等网络接口这功能和在一起的一个网络编程接口。通过他从逻辑的角度简化了通讯的接口。这样套接口通过下面的方法工作,事实上我的程序也是类似这么做的。 这样,我们只要了解学习套接口的原理和类方法,就可轻松实现程序网络互联通信。 2、Win sock的介绍 因为程序的核心就是要依靠MFC封装类CSocket来实现。所以下面把CSocket类以及它的周边作一些介绍。 首先Socket有同步阻塞方式和异步非阻塞方式两种使用,事实上同步和异步在我们编程的生涯中可能遇到了很多,而Socket也没什么特别。虽然同步好用,不费劲,但不能满足一些应用场合,其效率也很低。 也许初涉编程的人不能理解“同步(或阻塞)”和“异步(或非阻塞)”,其实简单两句话就能讲清楚,同步和异步往往都是针对一个函数来说的,“同步”就是函数直到其要执行的功能全部完成时才返回,而“异步”则是,函数仅仅做一些简单的工作,然后马上返回,而它所要实现的功能留给别的线程或者函数去完成。例如,SendMessage就是“同步”函数,它不但发送消息到消息队列,还需要等待消息被执行完才返回;相反PostMessage就是个异步函数,它只管发送一个消息,而不管这个消息是否被处理,就马上返回。 2.1、Socket API 首先应该知道,有Socket1.1提供的原始API函数,和Socket2.0提供的一组扩展函数,两套函数。这两套函数有重复,但是2.0提供的函数功能更强大,函数数量也更多。这两套函数可以灵活混用,分别包含在头文件Winsock.h,Winsock2.h,分别需要引入库wsock32.lib、Ws2_32.lib。 1、默认用作同步阻塞方式,那就是当你从不调用WSAIoctl()和ioctlsocket()来改变Socket IO模式,也从不调用WSAAsyncSelect()和WSAEventSelect()来选择需要处理的Socket事件。正是由于函数accept(),WSAAcce

您可能关注的文档

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档