- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 结合socket与windows 1、生成一个典型应用工程 2、添加头文件和库--winsock.h wsock32.lib 3、添加初始化和结束部分 4、设计:用户在菜单中选择了start项,服务器就启动起来 5、在资源编辑器中选择Menu 6、在菜单中增加一个选项 7、更改该菜单选项属性,ID号为IDM_START,和标题(caption)为Start 8、在WndProc中添加IDM_START,及处理函数StartServer() 9、在窗口关闭时,即对WM_DESTORY的处理中,加入关闭连接的过程 * 结合socket与windows 观察程序执行结果 问题1:当启动服务器服务后,窗口停止了响应 原因:程序在执行recv后阻塞,也阻塞了抓取程序的过程。 解决方法? 问题2:如果在通信部分使用非阻塞的select机制,服务器窗口仍然停止响应 原因:程序陷于select的循环中,无法回到GetMessage取得窗口消息 解决办法? * 学好Windows编程 勿在浮沙筑高台 但愿管中窥全豹 学好Windows编程应掌握的相关知识 C++ 操作系统原理,Windows系统原理 大量的系统库函数及功能 通过本课程能得到什么 虽然不要求大家掌握C++,课程也不介绍C++,但通过实际编写程序的过程,感受C++的一些特性。 可以了解Windows程序的一般结构,体会消息驱动的原理,减轻编写Windows程序的畏惧感。 接触并使用一些常用的调用 段景山 * 头文件的包含顺序是任意的吗? * GetMessage()--DispatchMessage() Register有注册的意思 网络软件设计 异步响应机制引入—— 窗口程序设计中的事件驱动Win32程序基本概念 制作 主讲 段景山 * 窗口 窗口 窗口的类型和要素 窗口背后的计算 * 窗口 窗口 与人交互的场所 图形化 窗口与应用程序 配置参数 不断交互 结果显示 窗口与进程 一一对应 一个进程打开多个窗口 一个窗口对应多个进程 (多个进程通过一个窗口与人交互) * 窗口类型与要素 窗口类型 Console 文字类型 Window 菜单+用户区域 Dialog Message Box 窗口要素 框架 菜单 按钮 滚动条 * 窗口背后的计算 窗口程序各不相同 本质区别是任务不同,计算不同 窗口的每个要件都有相应的程序支撑 任务的计算程序在哪里? 计算程序如何将窗口各部分统筹起来? 窗口+计算的程序框架将是怎样的? * Win32程序开发流程 .DLG .BMP .ICO .CUR .FON .RC .H .C .OBJ .LIB C runtime DLL Import .DEF RC compiler Text Editor Dialog Editor Image Editor Font Editor C Compiler LINKER .EXE .RES 开始之前 * 库函数 库函数的作用 用户不必关心窗口要件的代码 动态链接库 在执行时,才进行链接 增加程序的可移植性?? 节约内存?? Windows常用的库函数 C Runtimes--C库函数 LIBC.LIB MSVCRT.LIB Windows API GDI32.DLL USER32.DLL KERNEL32.DLL 其它 开始之前 注意:在运行程序时会遇 到一些库缺失的错误, 只需将这些库找到 放到windows系统目录下 * 头文件 windows.h stdafx.h 其它 开始之前 注意:当编译时出现找不到函数体错误时, 需要包含正确的头文件。 如果不知道该包含哪一个时, 1、可以在VC的include目录下查找 2、注意头文件的包含顺序?? * Windows 程序结构 以消息(事件)为基础,以消息(事件)驱动 (message based,event driven) 为什么窗口程序是事件驱动的 窗口程序的主要任务是人机交互 除非人主动结束任务。 人不断进行各种输入,计算机不断响应 程序以while循环为主体框架 形成“输入”-“响应”的程序结构 窗口程序是怎样进行消息驱动的 各种类型的“输入”,以消息格式存在 GetMessage()取走一个消息 需要响应消息和事件 对事件的响应,即事件驱动 DispatchMessage()处理消息 * Windows 程序结构 程序基本结构(算法) main() { while( GetMessage(msg)){ ProcessMessage(msg); } } 主函数 消息处理函数 ProcessMessage(msg) { switch(msg){ case MSG1: case MSG2: } } 事件 对比Wind
您可能关注的文档
- 2016版高二化学专题01化学反应中的热效应暑假作业(含)介绍.doc
- 冷水机组设计培训技术报告.ppt
- 网店运营实践标题优化说课.ppt
- 离散状态空间设计技术报告.ppt
- 大工15秋大连理工大学网络教育学院生产实习课程要求探析.doc
- 2015-2016学年高二历史人民版选修3:2.2火山上的短暂稳定讲解.pptx
- 北师大版七年级第五课第二站孝敬父母探索.ppt
- 2015-2016学年高二语文鲁人版选修《史记选读》:4.13孙膑讲解.pptx
- 2016版信息中职高考3+X书后练习题(Access含)介绍.doc
- 南翼信息发布系统X86终端用户手册2014-09-09(V4.2.2.1)研究.doc
文档评论(0)