- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简单聊天室分析
中北大学
程序设计
课程设计说明书
学生姓名: 学 号:
学 院:
专 业:
题 目:
指导教师: 职称:
2013年 12 月 26 日
目录
1.设计的背景及意义、聊天室的设计目标 2
2.基本原理 4
2.1 Winsock编程 4
2.2 MFC类CAsyncsocket和CSocket 5
2.3 利用CSocket进行有连接的通信 6
3.基本过程 8
3.1客户端的实现 8
3.2服务端的实现 13
4.程序运行结果 20
4.1 服务器端 20
4.2 客户端 20
5.总结和结论 22
1.1课程设计的背景
当前是数字信息时代,网络时代,任何一种编辑工具都不能忽视在网络上的应用,并且随着Internet 的普及和宽带技术的成熟,越来越多的用户进入网络世界中享用浏览新闻、查询信息、发送邮件、在线观看电影等服务,享受网络带来的便利和办公的高效,与此同时一个新型的Web应用程序为网民之间提供了一个实时通信的功能和场所,这就是聊天室。
在网络早期就开始盛行,不论是BBS,IRC 都有类似网上聊天室的机制。聊天室为网友提供了实时性对话的渠道,是网络上极为流行的一项服务。
聊天室适用于网上会议或闲聊的一些场合。聊天室为网友提供了较好的交友环境,网友之间相互以文字交谈,在形式上有点类似笔友的性质,却大大节省了书信往返的时间,这也是网上交友之所以如此热门的原因。
1.2课程设计的意义
客户端界面上的两个文本框,一个用于显示接受的聊天信息,一个用来接受用户输入的聊天信息。当按下“发送”按钮时将信息发送给服务器。
1.3聊天室的设计目标
本课题是建立聊天通信模型,设计一个聊天室软件,包括服务器端和客户端,主要功能为:
服务器端功能:
1、 初始化socket, 创建服务器端。
2、 维护一个链表,保存所有用户的IP地址、端口信息。
3、 接受用户传送来的聊天信息,然后向链表中的所用用户转发。
4、 接受用户传送来的连接判断命令,并向用户发出响应命令。
客户端功能:
2.基本原理
2.1 Winsock编程
Windows Sockets规范以U.C. Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套Micosoft Windows下网络编程接口。它不仅包含了人们所熟悉的Berkeley Socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。? ? Windows Sockets规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。此外,在一个特定版本Windows的基础上,Windows Sockets也定义了一个二进制接口(ABI),以此来保证应用Windows Sockets API的应用程序能够在任何网络软件供应商的符合Windows Sockets协议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。
构造一个 CAsyncSocket(嵌套字) 对象并使用该对象创建基础 SOCKET 句柄。
套接字的创建遵循两阶段构造的 MFC 模式。
例如:
CAsyncSocket sock;sock.Create( ); // Use the default parameters
对于服务器套接字,必须指定端口。对于客户端套接字,通常接受此参数的默认值,该值允许 Windows Sockets 选择端口。
套接字类型: SOCK_STREAM (默认值)或 SOCK_DGRAM 。
套接字“地址”,如“”或“”。
该地址为网络上的网际协议 (IP) 地址。很可能要始终依赖此参数的默认值。
如果套接字是客户端,则使用 CAsyncSocket::Connect 将此套接字对象连接到服务器套接字。
销毁 CAsyncSocket 对象。
如果在堆栈上创建了套接字对象,当包含函数超出范围时将调用此对象的析构函数。如果使用 new 运算符在堆上创建了套接字对象,则必须负责使用 delete 运算符销毁此对象。
您可能关注的文档
- 策略4三种文体分析.doc
- 策划书专题1分析.ppt
- 大气污染治理设备-电除尘器解析.ppt
- 策划书分析分析.ppt
- 答题卡填写技巧分析.ppt
- 策略路由与前缀列表实验分析.doc
- 策划书木头人儿童剧冠名方分析.doc
- 筹建通用航空企业申请政策分析.doc
- 第四讲居住建筑民俗分析.ppt
- 大气污染防治行动计划解析.doc
- [++初中数学]+第2课时+从不同方向观察立体图形和立体图形的展开+++课件+人教版七年级数学上册.pptx
- [++初中数学]第4课时+方案选择问题(27页)+++课件+人教版数学七年级上册.pptx
- [++初中数学]+第2课时+角的平分线++课件+人教版数学七年级上册.pptx
- [++初中数学]+第2课时+方程的解及一元一次方程++课件++人教版数学七年级上册.pptx
- [++初中数学]成比例线段第2课时++等比性质课件+北师大版九年级数学上册.pptx
- [++初中数学]+第1课时+认识几何体课件+人教版数学七年级上册.pptx
- [++初中数学]第3课时+去括号解一元一次方程(23页)+++课件+教版数学七年级上册.pptx
- [++初中数学]二元一次方程组及其解法第3课时课件+沪科版数学七年级上册.pptx
- [++初中数学]几何图形初步+复习课+课件+人教版七年级数学上册.pptx
- [++初中数学]+二元一次方程组及其解法第1课时课件+沪科版数学七年级上册.pptx
文档评论(0)