MFC和Flash的完整通讯
来源:互联网 发布:社交网络 英语作文 编辑:程序博客网 时间:2024/05/20 21:22
笔者在进行MFC和Flash的美化&通讯方面,以一个初级入门的情况,经历了几近一个月的奋战,终于在浩瀚的谷歌百度和MSDN中整合出了完整的美化&通讯实例,放置在Blog中,以备自己需要和提供给各位奋战在同一战线的战友使用,自此资源共享,节约时间。
首先要感谢在我总结之前,提供给我资源的不知详细名称的各位大大,我是站在你们的肩膀上才可能完成这项总结。
因为时间的关系,我会尽量将网页参考放置在本文中,如有出处,请见谅,请告知我,我讲进行修改。
《使用Flash彻底美化你的程序vc++技术》——这篇文章给予了我最大的启发。
http://hi.baidu.com/shewenbo/blog/item/9eb944a79c82df95d043582a.html
此项目用到的是MFC和Flash的socket进行通信。
@@@@@@@@@@@@@@@@@@@@MFC部分@@@@@@@@@@@@@@@@@@@@
1. 在vc++6.0中建立我们需要的MFC AppWizard(exe)工程
选择基本对话框
选择包含windows sockets
点击完成到达我们将要编程的界面
在开始写代码前,需要向工程中添加一个库函数。“工程”->“设置”->“连接”。在“对象/库模块”中添加 ws2_32.lib 。如下图,点击确定,开始进行编码
在左边的窗口双击CMFCFlashSocketApp()下的函数InitInstance()函数,可以看到下面的函数内容,此为笔者在文章开头提供的网址中所应用的内容:
但是笔者根据孙鑫老师所编著的《VC++深入详解》中的讲述,采用的下图中的代码,进过测试是正确的,各位可以尝试下。
在CMFCFlashSocketDlg()下的OnInitDialog()函数中添加:
MoveWindow(0, 0, 0, 0);
ShowWindow(SW_SHOWMINIMIZED);
添加位置如下图:
因我们采用的通信方式是Socket通信,在CMFCFlashSocketDlg()添加函数InitSocket()进行Socket初始化。
方法为在左窗口内的单击CMFCFlashSocketDlg()后右击“添加成员函数”。如下图进行函数添加
在左窗口内的单击CMFCFlashSocketDlg()后右击“添加成员变量”,创建类型为SOCKET类型的成员变量m_socket。成员变量的创建方法在后面还会用到。
用下图中的代码段,填充刚刚建立的函数InitSocket(),同时,我们也需要想建立m_socket对象一样建立
SOCKADDR_IN m_socketAddr;
SOCKET Client;
这两个对象。建立完成后效果如下图。
在InitSocket()函数中调用了函数ConnFlash(),该函数的添加同InitSocket()函数的添加是相同的。在这里不再赘述。下图中的代码段用来填充ConnFlash()函数。此要求将Flash发布的程序放到同该工程中,这样才能在运行MFC程序后才能正确运行flash程序。对Flash程序的发布会在Flash部分介绍。
创建建立Socket连接的函数OnAccept(WPARAM wParam, LPARAM lParam)。此函数同上面创建的略有不同,在建立的时候需要自己书写消息映射,想详细了解消息映射的读者可以参考候俊杰老师所编著的《深入浅出MFC》
下面将要建立的函数OnReadClose(WPARAM wParam, LPARAM lParam)和函数OnAccept(WPARAM wParam, LPARAM lParam)都是对相互传递的Socket消息进行处理,所以这两个函数的建立过程是相同的。
这里将比较详细的介绍函数OnReadClose(WPARAM wParam, LPARAM lParam)和函数OnAccept(WPARAM wParam, LPARAM lParam)的建立过程。读者可以先在工程中添加如上两图中的函数内容。然后需要的就是建立消息间的映射。
在窗口的左侧双击CMFCFlashSocketDlg(),在顶部合适位置添加消息的定义等三个定义
在CMFCFlashSocketDlg.CPP(注意,此处是CMFCFlashSocketDlg.CPP而不是CMFCFlashSocketDlg())中添加关于函数OnReadClose(WPARAM wParam, LPARAM lParam)和函数OnAccept(WPARAM wParam, LPARAM lParam)消息的映射:
ON_MESSAGE(WM_CLIENT_ACCEPT, OnAccept)
ON_MESSAGE(WM_CLIENT_READCLOSE, OnReadClose)
如下图中灰色部分。
然后在CMFCFlashSocketDlg()中添加如下内容:
afx_msg void OnAccept(WPARAM wParam, LPARAM lParam);afx_msg void OnReadClose(WPARAM wParam, LPARAM lParam);
自此,MFC和Flash的socket通信的MFC部分完成。
下面一节将具体介绍Flash部分。
- MFC和Flash的完整通讯
- mfc和flash通讯:怎么设置flash组件的值
- FLASH和ASP之间的通讯
- 四个flash和后台通讯的方法
- flash和javascript之间的通讯
- 四个flash和后台通讯的方法
- flash和后台通讯的方法
- Java和Flash通讯
- MFC和Flash的Socket通信之Flash
- vs2008 MFC 线程池实现的完整的 Client/Server Socket通讯类
- asp和flash互相通讯
- 【转】Java和Flash通讯
- (转)flash和javascript之间的通讯
- IwebBrowser2 控件下JS和FLASH通讯失败的解决方法
- MFC和flash交互
- 完整的Flash Object参考
- servlet 使用AMF3和flash通讯
- 与MQ通讯的完整JAVA程序
- 清理桌面不能删除不掉的Internet图标
- 在网上无意中发现的好东东啊 一起分享一下
- Hosting an ActiveX Control in WPF
- free与new的实现
- LINQ方式查询数据库
- MFC和Flash的完整通讯
- HTML5 - 多媒体
- poj 1002 487-3279
- Winsock编程——WSAAsyncSelect模型
- 2010.9.14 华为面试心得
- national
- WebService - XML Encryption
- 使用DataRelation
- Daemon函数的用法