电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

(网络空间安全技术实践)9.2csocket下基于tcp协议的通信编程实验

26页
  • 卖家[上传人]:繁星
  • 文档编号:88148903
  • 上传时间:2019-04-20
  • 文档格式:PPT
  • 文档大小:1.76MB
  • / 26 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、网络空间安全技术实践教程,吕秋云,王小军,胡耿然,汪云路,王秋华 西安电子科技大学出版社,第三篇 网络安全理论与技术实验篇,第九章 网络通信编程实验 9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,2,9.2 CSOCKET下基于TCP协议的通信编程实验,实验目的: 本实验要求掌握基于TCP协议的CSocket编程的基本原理和方法,并通过自己编程实现简单的流套接字的C/S模型。,网络空间安全技术实践教程,3,9.2 CSOCKET下基于TCP协议的通信编程实验,实验内容: 本次实验要求在理解基于流套接字(TCP协议)的编程时序的基础上,利用VS2010及以上环境下的CSocket来实现简单的网络通信系统,即设计实现一个简单的选课信息系统,其主要功能包括:实现简单的选课信息的发送和接收功能;客户端输入姓名、学号、专业、课程代码、课程名,上课时间地点,教师等信息,并发送给服务端。服务端接收后存储显示。,网络空间安全技术实践教程,4,9.2 CSOCKET下基于TCP协议的通信编程实验,实验要点说明:(实验难点说明) 理解TCP协议网络通信时序 分别建立服务器

      2、端和客户端程序,网络空间安全技术实践教程,5,9.2 CSOCKET下基于TCP协议的通信编程实验,实验准备:(实验环境,实验先有知识技术说明) 操作系统windows XP及以上 VS2010 以上开发环境,网络空间安全技术实践教程,6,实验步骤: 1)理解流套接字编程时序 流套接字的编程时序图请参看9.1节的图9-1-1。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,7,实验步骤: 2)服务器端程序编程步骤 (1)新建服务器端工程 打开一个VS2010,建立一个新的MFC工程Server。需要注意的有两点:首先,在应用类型界面需要选择基于对话框的应用,如图9-2-1所示;其次,在高级选项界面要勾选“Windows Socket”,如图9-2-2所示,这样在之后的Socket编程工作中,用到相关头文件以及链接库等开发环境时就不再需要手工添加了。 建立成功后,进入Class View,如图9-2-3所示,可在主界面中根据功能设计好主对话框,如图9-2-4所示。需要说明的是,该程序运行后,用户就会看到界面显示的主对话框,如果关闭该对话框,程序运行进程就

      3、终止了。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,8,实验步骤: 2)服务器端程序编程步骤 (2)创建监听和收发Socket 由流套接字的时序图9-1-1中可知,服务器端程序需要监听Socket和收发信息的Socket,故我们需要申明2个Socket。因此,在Class View中的CChenSiServer上点击右键调出菜单来(如图9-2-5),选择Add -Class.打开添加类的窗口,选择MFC Class,如图9-2-6所示。 在添加类向导中进行进一步设置,Class name取名为CListenSocket,Base class选择CSocket,点击Finish,如图9-2-7所示。并且如法炮制,再建立一个CRWSocket,如图9-2-8所示。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,9,实验步骤: 2)服务器端程序编程步骤 (3)实现监听和收发功能 监听和收发Socket创建成功后,需要在主对话框中使用,以便服务器程序运行时,监听和收发功能可以使用。在ClassView中双击CChenSiS

      4、erverDlg进入“CChenSiServerDlg.h”文件的代码编辑页后,加入两行代码:引用监听Socket类的头文件,并为主对话框申明一个成员变量m_listen,如图9-2-9所示。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,10,实验步骤: 2)服务器端程序编程步骤 (3)实现监听和收发功能 为了实现主对话框一运行,监听功能自动打开,需要在ClassView中CChenSiServerDlg下双击OnInitDialog(),进入相应编辑页,找到“/ TODO: Add extra initialization here”,在后面加入如下代码: m_listen.Create(8888); m_listen.Listen(); 其中8888是监听的端口号,一般用户可以修改为2000-65535之间的数,表示服务器程序将在8888端口监听客户端的请求。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,11,实验步骤: 2)服务器端程序编程步骤 (3)实现监听和收发功能 在监听Socket与主对话框链接完成后

      5、,接下来要在监听到有客户端请求链接时,实现进行处理的函数,因此,在Class View中找到刚才所建的新类CListenSocket,右键调出菜单点击Class Wizard.,进入向导后找到Virtual Functions添加OnAccept(int nErrorCode)函数,如图9-2-10所示。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,12,实验步骤: 2)服务器端程序编程步骤 (3)实现监听和收发功能 双击Class View界面中的OnAccept(int nErrorCode)进入代码编辑页面,找到“/ TODO: Add your specialized code here and/or call the base class”后添加如下代码: CRWSocket *dataSocket; dataSocket = new CRWSocket; Accept(*dataSocket); 需要在ListenSocket.cpp中将头文件引用,即#include “RWSocket. h“。,9.2 CSOCKET下基于TCP协议的

      6、通信编程实验,网络空间安全技术实践教程,13,实验步骤: 2)服务器端程序编程步骤 (3)实现监听和收发功能 监听功能完成后,要进行收发信息功能的实现,按照对CListenSocket创建新函数的方法,选择CRWSocket,右键调出菜单点击Class Wizard.,进入类向导,添加OnReceive(int nErrorCode)函数,如图9-2-11所示。 双击Class View界面中的OnReceive(int nErrorCode)进入代码编辑页面,找到“/ TODO: Add your specialized code here and/or call the base class”后添加如下代码: char str256; Receive(str, 256); AfxMessageBox(str);,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,14,实验步骤: 2)服务器端程序编程步骤 (4)编译服务端程序 编写完成后,需要对代码进行编译,可以通过菜单或者工具栏按钮完成操作。 如果使用菜单,可以选择Build - Build CChe

      7、nSierver 或者Build - Build Solution,如图9-2-12所示。 如果使用工具栏,可以选择如图9-2-13所示的按钮。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,15,实验步骤: 2)服务器端程序编程步骤 (4)编译服务端程序 如果编译完全成功,确保无语法错误时,会在Output中显示“Build: 1 succeed, 0 failed.”,如图9-2-14所示;如果编译存在错误,会显示在Error List中,如图9-2-15所示,编译器提示发生了很多编译错误,经查证,是因为没有在ListenSocket.cpp中引用CRWSocket所需要的头文件,即#include “RWSocket.h“,增加后即可编译成功。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,16,实验步骤: 3)客户端程序编程步骤 (1)新建客户端工程 打开VS2010,建立一个新的MFC工程Client,同样应记得勾选基于对话框选项和“Windows Socket”。建立成功后,为该对话框添加按钮、编辑控件和静

      8、态文本框控件,如图9-2-16所示。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,17,实验步骤: 3)客户端程序编程步骤 (2)为控件添加变量 右键点击对话框,弹出菜单,如图9-2-17所示。选择Class Wizard,弹出对话框,如果添加变量,先点击选择一个控件ID,然后点击右边的“Add Variable”,输入变量名,并且选择变量类型,添加好变量后如图9-2-18所示。程序代码可以通过操作变量名来操作控件,方便编程。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,18,实验步骤: 3)客户端程序编程步骤 (3)实现发送数据功能 客户端准备实现当用户点击提交时,连接服务器,将界面中输入框的内容发送到服务器端。因此双击“提交”按钮,进入该添加按钮事件的功能程序编写,代码如下: void CCChenSiClientDlg:OnBnClickedButton1() / TODO: Add your control notification handler code here UpdateData(TRUE);/更

      9、新控件值, 参数为FALSE时,用控件值更新窗口显示 MessageBox(m_name);/弹出消息对话框 CSocket clientSocket; clientSocket.Create(); clientSocket.Connect(“127.0.0.1“, 8888); clientSocket.Send(m_name, 256); ,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,19,实验步骤: 3)客户端程序编程步骤 (4)编译客户端程序 编写完成后,同样需要对代码进行编译,操作方法与服务器端基本相同。把代码在编写过程中发声的各种错误改正后,即可编译成功。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,20,实验步骤: 4)运行服务端,客户端程序实现简易通信 编译成功后,可以通过菜单或者工具栏按钮来运行完成的程序。在编译成功的前提下,如果使用菜单,其中一种方法是选择Debug - Start Debugging,如图9-2-19所示;如果使用工具栏,可以选择如图9-2-20所示的按钮。 正常运行时,会显示MFC项目中所设计的主对话框,然后依据所编写的程序进行操作,完成需要的功能。本实验中需要同时运行Server和Client两个工程中的程序,如图9-2-21所示。 运行时,在客户端发送框里输入要发送的信息,点击提交即可在服务器端弹出接收到的信息。运行结果如图9-2-22所示。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,21,实验步骤: 4)运行服务端,客户端程序实现简易通信 运行时,先在服务器端输入本机IP和将要进行通信的本机端口,点击bind绑定IP和端口;其次,在客户端输入服务器端的IP和通信端口,在发送框里输入要发送的信息,点击Send即可在服务器端的接收框中显示信息;最后,在需要结束通信的时候,发送“quit TCP”即可结束通信。运行结果如图9-1-19所示。,9.2 CSOCKET下基于TCP协议的通信编程实验,网络空间安全技术实践教程,22,9.2 CSOCKET下基于TCP协议的通信编程实验,实验结果要求 (1) 建立的工程名应该是含有个人信息,如可加入姓名全拼构成唯一的工程名字,例如:CChenSiSe

      《(网络空间安全技术实践)9.2csocket下基于tcp协议的通信编程实验》由会员繁星分享,可在线阅读,更多相关《(网络空间安全技术实践)9.2csocket下基于tcp协议的通信编程实验》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.