C++ÓëFlexÖ®¼äsocketͨÐÅpolicy file request½â¾ö·½°¸
C++winsocket·þÎñ¶Ë£¬Flex as3¿Í»§¶Ë¡£·þÎñ¶ËBind°ó¶¨IP127.0.0.1¶Ë¿Ú2020£¬ÔÚFlexÖÐʹÓÃSocket.connectÏò·þÎñÆ÷·¢ÆðÁ´½Ó¡£µ±FlexÔÚ±¾µØÔËÐеÄʱºòÄÜÁ´½Ó³É¹¦, µ«ÊÇͨ¹ýÓòÃû·ÃÎÊʱ³öÏÖSecurity´íÎó, Error #2048
¡£²¢ÇÒÔÚÁ¬½Óʱ, ·þÎñ¶ËÊÕµ½¿Í»§¶Ë·¢À´µÄÏûÏ¢<policy-file-request/>
ÏûÏ¢¡£
³¢ÊÔ½â¾ö:
ÉÏgoogleËÑË÷ÁËÈô¸É×ÊÁÏ£¬ÎÒ¿´ÁËÁ¼¾ÃÒ²Ò»Öª°ë½â¡£
³öÏÖÕâ¸öÎÊÌâµÄÔÒòÊÇFlashPlayerÓÐÒ»¸ö°²È«É³Ïä»úÖÆ
¡£±¾µØÔËÐÐswfʱ£¬flashPlayerĬÈϵݲȫ²ßÂÔÊÇ¿ÉÒÔ¿çÔ¤·ÃÎʵģ¬¿ÉÒԲ鿴Security.sandboxTypeÊôÐÔֵΪlocalTrusted¡£È»¶øÔÚʹÓÃIP·ÃÎÊswfÎļþʱ£¬flashPlayer»áÈÏΪÕâ¸öÎļþÊDz»°²È«µÄ´Ëʱ¿ÉÒԲ鿴
Security.sandboxTypeµÄÊôÐÔֵΪremote¡£´ËʱÐèÒªÔÚ·þÎñ¶Ë·ÅÖòßÂÔÎļþ£¬flashPlayer²Å»áÈÃswfÁ´½Óµ½´Ë·þÎñÆ÷¡£
Èô¸ÉÈ˵IJ©¿ÍÉ϶¼ËµÐèÒªÃûΪcrossdomain.xml
µÄÎļþ·ÅÖõ½·þÎñ¶ËHTTPµÄ¸ùĿ¼Ï¡£ÎļþÄÚÈÝΪ
<?xml version="1.0"?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" to-ports="2020" />
</cross-domain-policy>
ÎÒÕâô×öÁË£¬µ«ÊÇûÓÐÈκÎЧ¹û¡££¨ÎÒÄÜÈ·¶¨²ßÂÔÎļþ±»·ÃÎʵ½ÁË£¬ÒòΪÎļþÖгöÏÖÓï·¨´íÎóµÄʱºòFlexµ÷ÊÔÐÅÏ¢Öл¹»á±¨³ö¾¯¸æ¡££©ÓÚÊÇÎÒ²ÂÏëÕâ¸ö·½·¨Ò²ÐíÊǽâ¾ö²»ÄÜ·ÃÎÊÔ¶³ÌHTTPÎļþµÄµÄÎÊÌ⣬¶øsocketͨÐÅÐèÒªÁíÍâµÄ·½·¨¡£
È»ºóÔÚCSDNÂÛ̳ÉÏ·¢ÏÖÓÐÈËÓÃJavaSocketºÍFlexͨÐųöÏÖͬÑùÎÊÌ⣬½â¾ö·½°¸ÊÇ·þÎñ¶ËÊÕµ½
<policy-file-request/>ÏûϢʱ£¬Ö±½ÓÏò¿Í»§¶Ë·¢ËÍÒ»ÌõÏûÏ¢£¬ÄÚÈݾÍÊÇÉÏÃæµÄ²ßÂÔÎļþµÄxml
¡£ÎÒ·ÂÕÕ×öÁË£¬ÒÀÈ»ÎÞЧ>_<
char szPolicy[1024] = "";
strcat_s(szPolicy, 1024, "<?xml version='1.0'?>");
strcat_s(szPolicy, 1024, "<cross-domain-policy>");
strcat_s(szPolicy, 1024, "<site-control permitted-cross-domain-policies='all'/>");
strcat_s(szPolicy, 1024, "<allow-access-from domain='*' to-ports='2020'/>");
strcat_s(szPolicy, 1024, "</cross-domain-policy>\0");
sockClient = m_sockListener.Accept(&addrClient);
if (sockClient.IsInvalid())
{
// accept failed
Ïà¹ØÎĵµ£º
ADO¿â°üº¬Èý¸ö»ù±¾½Ó¿Ú:_ConnectionPtr½Ó¿Ú¡¢_CommandPtr½Ó¿ÚºÍ_RecordsetPtr½Ó¿Ú¡£
_ConnectionPtr½Ó¿Ú·µ»ØÒ»¸ö¼Ç¼¼¯»òÒ»¸ö¿ÕÖ¸Õë¡£
ͨ³£Ê¹ÓÃËüÀ´´´½¨Ò»¸öÊý¾ÝÁ¬½Ó»òÖ´ÐÐÒ»Ìõ²»·µ»ØÈκνá¹ûµÄSQLÓï¾ä£¬ÈçÒ»¸ö´æ´¢¹ý³Ì¡£
ʹÓÃ_ConnectionPtr½Ó¿Ú·µ»ØÒ»¸ö¼Ç¼¼¯²»ÊÇÒ»¸öºÃµÄʹÓ÷½·¨¡£
ͨ³£Í¬CdatabaseÒ»Ñù£¬Ê¹ÓÃËü´´½¨ ......
MyEclipse
FlexµÄÅäÖÃÖ®³õÎÒÃÇ¿´¿´ÔµÓÉ£ºÒ»¿ªÊ¼Ñ§Ï°Ê¹ÓÃFlexµÄʱºò,ÎÒÊÇÓõĵ¥¶ÀµÄFlexBuilder3,×öЩ´¿FlexµÄÓ¦ÓóÌÐò»¹¿ÉÒÔ.µ«ÊÇÈç¹ûÒª
ºÍJava½áºÏÔÚÒ»ÆðʹÓÃ,¼´ÀûÓÃFLEX³äµ±Ò»¸öÍêÕûµÄJ2EEϵͳµÄWEB²ãµÄ»°,ÄÇôµ¥¶ÀʹÓÃFlexBuilder3ºÍMYECLIPSEÊǺܲ»
·½±ãµÄ,´ó´óÓ°ÏìÁË¿ª·¢Ð§ÂÊ,Òò´Ë×öÁËÏÂMyEclipse+FlexµÄÅäÖÃ,´ïµ½Ö ......
¿ªÊ¼ÈÕÆÚ Óë ½áÊøÈÕÆÚµÄ·¶Î§Ñ¡Ôñ
Á½Õß¶¼²»ÄÜ´óÓÚ½ñÌ죬¿ªÊ¼ÈÕÆÚ²»ÄÜ´óÓÚ½áÊøÈÕÆÚ
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" backgroundGradientColors="[#ffffff, #ffffff]">
<mx:Script>
......
Flex±àÒë²ÎÊý
accessible=true|false ÊÇ·ñ¾ßÓпÉÀí½âÐÔ£¨ÈçΪ²Ð¼²ÈËÌṩ·½±ãµÄÐÔÄÜ£©
actionscript-file-encoding | ÉèÖÃÎļþ±àÂ룬ÈçShitf_JIS
advanced | mxmlc -help advanced£¬ÈçÕâÑùµÄ¸ß¼¶²ÎÊý
allow-source-path-overlap=true|false | ÑéÖ¤source-pathÖж¨ÒåµÄ·¾¶ÊÇ·ñ³öÏÖÖØµþ£¬³öÏÖ»¥Ïà°üº¬µÄÏÖÏó
as3=true|fa ......
Ò»¡¢C++·þÎñÆ÷¶Ë
£¨ÓõÄÊÇVisual Studio 2008£¨05£¬03µÄÓ¦¸ÃÒ²¿ÉÒÔ£¬VC++µÄ¿ÉÄÜÐèÒªÉÔ΢¸Ä¶¯£©£©
´úÂëÈçÏ£º
#include <winsock2.h>
#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
#pragma comment(lib,"ws2_32.lib")
void main(){ ......