实验四扫描可控计算机的客户端和服务器端编程设计.docVIP

  • 3
  • 0
  • 约7.03万字
  • 约 26页
  • 2017-08-10 发布于河南
  • 举报

实验四扫描可控计算机的客户端和服务器端编程设计.doc

实验四扫描可控计算机的客户端和服务器端编程设计

实验六 扫描可控计算机的客户端和服务器端编程设计 实验目的: 熟悉Visual C++ MFC 基于对话框的程序开发。包括编辑框中的文字的读取,按钮的响应函数,控件的可见和隐藏,列表框中内容的添加, 进程控件的使用等。 学会使用Winsock 编程的应用程序接口函数,包括 socket (), bind (), listen (), accept, recv(), send () 等的调用参数。注意,对于客户端而言,只有 (socket (), connect (), send (), recv () 四个函数)。 而服务器端的通信需要socket(), bind(), listen (), accept (), recv(), send() 六个函数。 学会使用文件类即CFile 的使用,重点是CFlie::Open() (文件打开), CFile::Close() (关闭文件), CFile::Read (读文件), CFile::Write (写文件), CFile::SeekToEnd(文件指针移至文件末尾,以方便从末尾添加内容. 等函数 引入目录树类(包含两个文件, dirtreectrl.cpp 和 dirtreectrl.h),以帮助寻找发送文件所在的文件夹,和接收文件所在的文件夹。 在文件发送端引入进程条控件,帮助监控文件传输的进程。 为了避免界面在运行服务器和客户端过程中的响应迟钝问题,我们在本程序中使用了多线程编程(牵涉到函数AfxBeginThread (fun, para). 这里的 fun 是新线程运行的函数的名称,而para 是函数 fun 的 输入参数。即新线程的函数调用方式为 fun (para). 在函数运行完毕后,线程自动退出。如果你需要让此新线程一直运行的话,在fun 函数中使用无限循环如 while (1){…….}, 或 for (;;){…..}. 本实验包括两个项目,一个是文件发送端即客户端(起名: MyFileSender,另一个 是文件接受端即服务器端 (起名,MyFileReceiver). 第一部分:文件发送端创建 启动 Visual C++。 点击菜单左上方的文件-〉新建-〉工程 选择MFC AppWizard[exe], 工程名称为MyFileSender,选择存储路径, 如下图,点击“确定”按钮 图1  3.选择基本对话框,在点击“下一步” 图2 4.在您希望包含WOSA支持吗?下选中“Windows Sockets[W]”,按“完成”按钮。你获得了一个工程框架。 图3  对话框中添加控件。 1.首先我们添加的控件是一个静态文本框。选择工具箱中的静态文本控件(标注为Aa),然后再在对话框工作区按下鼠标左键并向右下移动,当你放开鼠标后,一个静态文本框就产生了,如图4 ,在此控件上右击鼠标,在弹出菜单中选择“属性“,点击属性,出现如1.5 的对话框。你需要做的就是把”标题“右边白框中的文字改为你要写的文字,这时,你可以看到对话框中的文字已被改写了。 图4  图5 添加如图5这样的 三个 静态文本框,把“确定”按钮删除(使用“Delete”键),并把“撤销”按钮名字改为“关闭”(因为我们不对这些文本框进行操作,所以它们的ID不需要特别设置 )。   在“接收端主机地址”的右边添加一个文本编辑框(标志位ab│),并把它的ID 改为 IDC_IP, 如6 图6 在“接收端TCP端口号“右边添加一个文本编辑框,并把它的ID 改为 IDC_PORT , 如图7 所示。 图7 在“选择所需发送的文件”下面添加一个新的树状控件(),并把它的名字改为IDC_TREE, 用于引导你寻找到你要发送的文件。如下图 图8 在可控计算机列表下方创建一个新的静态文本控件,IDC_TEXT_PROGRESS,如下图4.9 图9  在静态文本控件“发送进程”的下方添加一个进程控件() 在对话框中添加一个如下所示的按钮,其ID为 IDC_PROGRESS 图10 在对话框中“接收端TCP”下方添加一个按钮(),ID为IDC_SEND, 标题为“发送选定文件”。 图11 最后的对话框设计视图应该如下图: 图12 现在,我们要添加代码,以处理对上述控件的响应。 首先把两个文件(DirTreeCtrl.h 和DirTreeCtrl.cpp)复制到程序所在的目录(也就是?MyFileSender.dsw 所在的目录)然后,双击“FileView”,在“MyFileSender files”处右击鼠标,在弹出菜单中选择“添加文件到工程”,选择DirTreeCtrl.h 和DirTreeCtrl.cpp,确定。这时,此两个文件已经进入了工程。 图13 文件视图中(FileView),点开Hea

文档评论(0)

1亿VIP精品文档

相关文档