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Ò»Ñù£¬Ê¹ÓÃËü´´½¨ ......
#include <windows.h>
#include <stdio.h>
void FindFileInDir(char* rootDir, char* strRet)
{
char fname[256];
ZeroMemory(fname,256);
WIN32_FIND_DATA fd;
ZeroMemory(&fd, sizeof(WIN32_FIND_DATA));
HANDLE hSearch;
char filePathName[256];
char tmpPath[256];
ZeroMemory(filePathNa ......
Flex 4
betaÌṩÁ˽ӿÚIViewport£¨±»ËùÓпɹö¶¯×é¼þʵÏÖ£©ºÍ×é¼þScroller£¨ÎªÊÓ¿ÚÌí¼Ó¹ö¶¯Ìõ£¬ÊµÏÖ½»»¥Ê±µÄ¹¦Äܹ¦ÄÜ£©¡£ÕâÀïËùνÊÓ¿Ú£¨viewport£©£¬¼´¿É¹ö¶¯×é¼þ£¬ÒªÊµÏÖIViewport½Ó¿Ú¡£½»»¥Ê½¹ö¶¯£¬ÊÇËùÓÐͼÐÎÓû§½çÃæ£¨GUI£©¹¤¾ßµÄ»ù±¾ÌØÐÔÖ®Ò»¡£Flex
4 betaÖ®ËùÒÔ²ÉÓÃÕâÖÖ·½·¨£¬ÊÇΪÁ˱ÈFlex 3µÄʵÏÖ¸üÓÐЧÂÊ£¬¾ßÌåÇ ......
¿ªÊ¼ÈÕÆÚ Óë ½áÊøÈÕÆÚµÄ·¶Î§Ñ¡Ôñ
Á½Õß¶¼²»ÄÜ´óÓÚ½ñÌ죬¿ªÊ¼ÈÕÆÚ²»ÄÜ´óÓÚ½áÊøÈÕÆÚ
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" backgroundGradientColors="[#ffffff, #ffffff]">
<mx:Script>
......
Ò»¡¢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(){ ......