- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
windows课程的设计的报告
基于UDP协议的网络聊天工具设计
设计目的与要求
.1 设计目的
1、进一步掌握利用Visual C++进行程序设计的能力;
2、进一步理解和运用面向对象程序设计的思想和方法;
3、初步掌握开发一个小型实用系统的基本方法;
4、学会调试一个较长程序的基本方法;
5、理解Windows程序的运行过程;
6、掌握winsocket编程方法。本实验设计内容是:设计一个程序,实现聊天功能,要求有客户端和服务器端。客户端能实现消息的输入和发送、接收消息、连接服务器与断开连接等基本功能;服务器端要求能收发信息、保存客户端的IP信息地址、将接收到的消息向所有客户端转发等基本信息。 设计要求
整个程序使用winsocket 函数做网络数据收发,基于UDP协议。可以直接使用Windows API编程(SDK编程),也可以使用MFC编程。本课程设计中我们使用的是MFC编程。其具体的设计要求如下所述:
服务器端:
在服务器端,当服务器端程序运行时便初始化socket, 创建服务器端,在服务器端包含一个发送窗口和一个接收窗口,以及一个ListBox来显示当前连接到服务器上的客户端的IP地址。
服务器端功能:
初始化socket, 创建服务器端。
接受用户传送来的连接判断命令,并向用户发出响应命令。
维护一个链表,保存所有用户的IP地址。显示所有在线IP。
向链表中的所有用户发送系统消息。
接受用户传送来的聊天信息,然后向链表中的所用用户转发。
客户端:
客户端界面,有一个用于显示接受的聊天信息,和一个用来接受用户输入的聊天信息。当按下“发送”按钮时将信息发送给服务器。程序运行后用户先输入自己呢称然后进行连接,如果成功则在接收窗口输出成功提示,否则弹出连接失败警告框。在连接好之后用户也可以选择与服务器断开。
设计环境或器材、原理与说明
.1 设计环境与器材
因为选择使用MFC编程,该程序又是网络编程,所以设计环境与器材为:
·PC 机两到三台(程序试运行时需要多台电脑充当客户端);
·能正常连接的网卡;
·Windows环境与Microsoft Visual C++ 6.0 编译环境;
.2 原理与说明
在计算机网络中,信息的传输是建立在物理传输介质与网络传输协议上的,TCP/IP协议是网络协议的一种,它分为不同的层次:TCP(Transmission Control Protocol——传输控制协议)UDP(User Datagram Protocol——用户数据报协议);IP(Internet Protocol——网际协议);它们分别工作于传输层与网络层。Window Socket 是Windows 下的标准网络程序设计接口,它是由一些API函数组成,用以提供对网络通信的支持。
该程序设计使用Windows Sockets编程。在数据传输协议中,我们使用UDP协议,UDP协议是无连接的协议,在服务器端不调用listen函数进行监听,也不调用accept函数建立连接, 其操作流程图如下图所示:
图-1 无连接协议的套接字操作流程图
首先,用socket函数建立套接字,然后根据本地的IP进行绑定,然后就可以通过使用send 函数和 reve 函数来进行数据的发送和接收了。
设计过程及程序代码
.1 服务器端设计
.1.1 服务器端程序流程设计
图-1 服务器端程序设计
.1.2 服务器端界面设计
使用MFC可以很方便的建立对话框,在打开Microsoft Visual C++ 6.0后建立一个MFC AppWizard[exe]工程,然后在选择类型对话框中选择Dialog Based,在选择包含部分时选择Windows Sockets,然后点击完成,于是便有了一个基本的对话框。我们可以通过MFC中提供的编辑工具在该对话框中进行设计,如添加文本框、按钮、静态文本框、ListBox等。然后根据需要对各个控件的属性等进行设定,下图是根据客户端功能需求所设计的客户端界面:
图-2 客户端界面设计
当有客户端连入后,客户端的IP会自动的显示在“在线主机列表”下的ListBox中,下的删除按钮可以将ListBox中所选的IP删除;所有客户端发来的消息和服务器自己所发的都在接收窗口中显示,并可通过清除内容按钮清除内容;.1.3 服务器端套接字的具体操作
用户数据报协议不调用listen函数进行监听,也不调用accept函数建立连接,其操作流程图 // socket函数建立套接字
WSAStartup(MAKEWORD(2, 0), m_WSAData); //初始化套接字
m_sockLocal = socket(AF_INET, SOCK_DGRAM, 0); //创建本地服务套接字
//选择程序要处理的网络事件:WM_SOCKE
您可能关注的文档
- L赖氨酸故事-从代谢途径到工业生产.doc
- LSA过电压保护器LCK消弧消谐柜.doc
- M14包含多选-.doc
- M2U3第二模块第三单元.doc
- M400数据采集管理软件 使用说明M4211-.doc
- M5数字电路2-185.doc
- Macbook充电与电池保养的标准的的答案.doc
- masite产品手册文案1129李兵-.doc
- matlab课程-论文要求.doc
- Maya Hair 基础教学火星时代视频教学的的总结.doc
- 现场总线控制系统(FCS)系列:Bosch Rexroth Sercos III for Gas Processing_7.系统冗余与容错机制.docx
- 现场总线控制系统(FCS)系列:Beckhoff EtherCAT for Gas Processing_(6).BeckhoffEtherCAT系统的安装与配置.docx
- 现场总线控制系统(FCS)系列:Rockwell Automation DeviceNet for Gas Processing_(2).气体处理过程中的现场总线技术应用.docx
- 现场总线控制系统(FCS)系列:Schneider Electric Modbus for Gas Processing_(20).Modbus在气体处理中的未来发展趋势.docx
- 现场总线控制系统(FCS)系列:Bosch Rexroth Sercos III for Gas Processing_4.SercosIII的网络架构与配置.docx
- 现场总线控制系统(FCS)系列:Rockwell Automation DeviceNet for Gas Processingall.docx
- 可编程逻辑控制器(PLC)系列:Siemens S7-1200 for Gas Processing_(16).S7-1200在GasProcessing中的项目管理与实施.docx
- 可编程逻辑控制器(PLC)系列:Schneider Electric Modicon M580 for Gas Processing_(11).ModiconM580与其他系统的集成.docx
- 现场总线控制系统(FCS)系列:Bosch Rexroth Sercos III for Gas Processing_6.实时数据传输与处理.docx
- 现场总线控制系统(FCS)系列:Rockwell Automation DeviceNet for Gas Processing_(8).气体处理过程控制中的DeviceNet案例研究.docx
最近下载
- 证券公司薪酬管理制度.pdf VIP
- 河北省石家庄市桥西区2023~2024学年九年级上学期期末 数学卷.pdf VIP
- APQP 先期产品质量策划(第三版)2024 中英文(高清可复制).doc
- JB_T 10559-2018 起重机械无损检测 钢焊缝超声检测.pdf
- 李洪超老师——Treeage.pdf
- 美国版science原版科学杂志2016年合集全52本science 20160722.pdf
- 小学英语单词分类表大全A4完美打印版-小学英语词汇表大全.pdf VIP
- ASME焊接工艺评定及规程编制要点-PPT演示文稿.pptx
- 云南省城镇公共排水泵站设计规程.docx VIP
- 一级医院医疗质量检查标准.pdf
文档评论(0)