已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 实验三VC 6 0中利用MFC的CSocket类实现网络通信 2 简单的用户界面 服务器界面客户端界面 3 程序的运行使用说明 在一台计算机上同时运行客户端和服务器 服务器使用端口号为6000 或其它1024以后的端口号 客户端使用默认的端口号 显然客户端和服务器的ip地址均为127 0 0 1服务器端单击 侦听 按钮客户端单击 连接 按钮 若服务器端已处于 侦听 状态则弹出对话框 连接成功 否则弹出对话框 连接失败 并等待下一次单击 连接 按钮 客户端输入要发送的信息 单击 发送 按钮服务器端单击 接收 按钮 接收到客户端发来的信息 4 服务器端的创建 1 新建工程LXServer 5 服务器端的创建 2 创建的程序类型为 基本对话 6 服务器端的创建 3 选择WindowsSockts支持 7 服务器端的创建 4 接下来几步直接点击 下一步 直到下面对话框单击 完成 8 服务器端的创建 5 9 添加控件 以客户端界面为例 10 服务器端的创建 6 编辑界面 对界面上的控件点击右键 选择属性选项 可以修改ID 把ID改为有意义的名字 和标题界面上没有控件的地方点击右键 弹出菜单 单击 建立类向导 或者英文版叫ClassWizard 为每个控件添加变量 注意控件ID 变量类型 变量名 参看下页 建立类向导 11 服务器端的创建 7 建立类向导 12 服务器端的创建 8 新建Csocket的派生类Cserver 为了处理CSocket得到的消息 新建CSocket的派生类CServer 参看上页 建立类向导 或者实验指导书P18 13 服务器端的创建 9 为了防止用户未点击 侦听 就点击 接收 令初始的界面 接收 按钮无效 在BOOLCLXServer OnInitDialog 的末尾添加 TODO Addextrainitializationherem BTNRecv EnableWindow FALSE 使接收按钮无效在LXServerDlg h里添加 include Server h 即包含CServer类的头文件在CLXServerDLG类中添加两个Cserver类的对象m server与m recv 即在LXServerDlg h里添加private CServerm Server 用于创建端口CServerm Recv 用于绑定对方IP地址和端口号 14 服务器端的创建 10 界面的控件 侦听 按钮上双击 添加如下代码voidCLX2Dlg OnBtnListen TODO Addyourcontrolnotificationhandlercodeherem Server Create 6000 新建端口6000m Server Listen 侦听m Server Accept m Recv 侦听到的ip地址和端口号绑定到m Recvm BTNRecv EnableWindow TRUE 接收按钮有效m BTNListen EnableWindow FALSE 侦听按钮无效 15 服务器端的创建 11 界面的控件 接收 按钮上双击 添加如下代码voidCLX2Dlg OnBtnRecv TODO Addyourcontrolnotificationhandlercodeherecharbuf 255 m Recv Receive buf 255 接收消息到bufCStrings msg s msg Format s buf buf的值传到字符串s msgm EDTValue m EDTValue s msg UpdateData FALSE 变量值传到界面上 16 客户端创建 1 新建工程LXClient 设计界面如下 17 客户端创建 2 修改控件ID 通过 新建类向导 为控件添加变量 18 客户端的创建 3 程序关闭时关闭端口 通过 建立类向导 添加WM DESTROY消息响应函数 19 客户端创建 4 关闭端口代码 20 客户端创建 5 初始化时添加代码 即在BOOLCLXClientDlg OnInitDialog 的末尾添加下面代码s ip CString 127 0 0 1 默认的目的ip地址UpdateData FALSE 变量的值传到界面上c BTNSend EnableWindow FALSE 发送按钮失效 21 客户端的创建 6 连接 按钮代码 voidCLXClientDlg OnBtnConnect 连接按钮相关代码 TODO AddyourcontrolnotificationhandlercodehereUpdateData TRUE 界面上的数据传到变量上 更新ip地址m client Create 创建端口 采用默认的端口号if m client Connect s ip 6000 连接目标地址 6000端口 MessageBox Client端连接成功 c BTNSend EnableWindow TRUE 连接成功 可以发送c BTNConnect EnableWindow FALSE 禁止再连接 elseMessageBox Client端连接不成功 22 客户端的创建 7 发送 按钮代码 voidCLX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/SAME 001-2022临床实验室II级生物安全柜管理要求
- T/CES 316-2024光伏电站能量流测试技术规范
- T/CHSA 104-2025咬合板治疗颞下颌关节紊乱病的专家共识
- T/CSTEA 00027-2021大田美人茶
- T/SRMA 40.3-2026基于国际功能、残疾和健康分类的结构化康复病历书写指南 第3部分:帕金森
- 2025~2026学年河北省邢台市任泽区骆庄学区小学联考冀教版三年级上册12月月考数学试卷【附答案】
- 2027届河南省鲁山、舞钢九年级数学第一学期期末学业质量监测模拟试题含解析
- 车间级日常安全管理实务培训
- Photoshop 7.0 试题汇编及详细答案
- 2027届四川省长宁县七年级数学第一学期期末质量跟踪监视模拟试题含解析
- 小学道德与法治新部编版六年级上册全册知识点填空练习(2026秋)
- 孕产妇高危五色管理医学培训
- 2026年城区第二小学阳光招生工作专项整治自查报告
- 新版预防未成年人犯罪法知识竞赛题库及答案详解
- 2026年市政工程质量员专业技能考试必考题库与答案
- 2026年医学科研诚信与伦理课件
- 2026年储能系统(充放电控制)试题及答案
- 2026赤峰市妇幼保健院招聘40名控制数专业技术人员笔试模拟试题及答案详解
- 山东省2027综合评价招生《综合素质测评》模拟试卷C卷
- 2025手术室护理质量敏感指标
- 智慧工地项目数据台账管理手册
评论
0/150
提交评论