网络程序设计技巧.docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《网络程序设计》课程设计报告书题目:简单的聊天室程序专业:软件工程学号生姓名:张雪峰指导教师:魏宁完成日期:2015年1月8日题目及要求1.1题目名称简单的点对点聊天室系统1.2 题目要求编写一个简单的聊天室程序,采用客户/服务器模式,分为客户端程序和服务器端程序。由于服务器只能支持一个客户,实际上是一个点对点通信的程序。客户端程序和服务器程序通过网络交换聊天字符串内容,并在窗口的列表框中显示。1.3 课设目的为了让学生理解并掌握网络套接字的使用学会使用MFC图形界面编写简单的桌面应用学会如何从CasyncSocket类派生出自己的WinSock类学习流式套接字对象的使用学习处理网络事件的方法系统概要设计2.1聊天室的设计目标本课题是建立聊天通信模型,设计一个聊天室软件,包括服务器端和客户端。服务器端功能:初始化socket, 创建服务器端。维护一个链表,保存所有用户的IP地址、端口信息。接受用户传送来的聊天信息,然后向链表中的所用用户转发。接受用户传送来的连接判断命令,并向用户发出响应命令。客户端功能:客户端界面上的两个文本框,一个用于显示接受的聊天信息,一个用来接受用户输入的聊天信息。当按下“发送”按钮时将信息发送给服务器。通过本课题的课程设计,可以比较深入的了解和掌握 WINSOCK 控件基本属性、方法和事件,理解网络聊天通信的概念,输控制协议(TCP)进行数据交流,初步掌握网络聊天通信程序的设计方法。并能巩固和扩展大学期间的学习内容,进行项目的设计开发训练,更好的适应社会的需求。当前是数字信息时代,网络时代,任何一种编辑工具都不能忽视在网络上的应用,并且随着Internet 的普及和宽带技术的成熟,越来越多的用户进入网络世界中享用浏览新闻、查询信息、发送邮件、在线观看电影等服务,享受网络带来的便利和办公的高效,与此同时一个新型的Web应用程序为网民之间提供了一个实时通信的功能和场所,这就是聊天室。在网络早期就开始盛行,不论是BBS,IRC 都有类似网上聊天室的机制。聊天室为网友提供了实时性对话的渠道,是网络上极为流行的一项服务。聊天室适用于网上会议或闲聊的一些场合。聊天室为网友提供了较好的交友环境,网友之间相互以文字交谈,在形式上有点类似笔友的性质,却大大节省了书信往返的时间,这也是网上交友之所以如此热门的原因。2.2概要设计本系统用到了TCP协议的点对点开发模型,主要使用CasyncSocket流式套接字进行网络事件的监听以及连接,具体的流程图如下:图2-1 服务端流程图图2-2客户端流程图系统详细设计3.1详细设计服务端主要函数:voidCMySocket::OnAccept(intnErrorCode)用于处理Socket的Accept事件voidCMySocket::OnClose(intnErrorCode)用于处理Socket的Close事件voidCMySocket::OnReceive(intnErrorCode)用于处理Socket的Receive事件CTalksDlg::OnInitDialog()初始化图形界面的变量值CTalksDlg::OnButtonListen()监听按钮的事件响应函数CTalksDlg::OnButtonClose()关闭监听按钮的事件响应函数CTalksDlg::OnSendMsg()发送按钮的事件响应函数客户端主要函数:voidCMySocket::OnConnect(intnErrorCode)用于处理Socket的Connect事件voidCMySocket::OnClose(intnErrorCode)用于处理Socket的Close事件voidCMySocket::OnReceive(intnErrorCode)用于处理Socket的Receive事件CTalksDlg::OnInitDialog()初始化图形界面的变量值CTalkcDlg::OnButtonConnect()连接服务器按钮的事件响应函数CTalksDlg::OnButtonClose()关闭监听按钮的事件响应函数CTalksDlg::OnSendMsg()发送按钮的事件响应函数3.1.1CAsyncSocket类它是一个异步非阻塞Socket封装类,CAsyncSocket::Create()有一个参数指明了你想要处理哪些Socket事件,你关心的事件被指定以后,这个Socket默认就被用作了异步方式。CAsyncSocket的Create()函数,除了创建了一个SOCKET以外,还创建了个CSocketWnd窗口对象,并使用WSAAsyncSelect()将这个SOCKET与该窗口对象关联,以让该窗口对象处理来自Socket的事件(消息),然而CSocketWnd收到S

文档评论(0)

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

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

1亿VIP精品文档

相关文档