PHP·þÎñÆ÷¶Ëͨ¹ýÃüÃû¹ÜµÀÓëC/C++³ÌÐòͨÐÅ
ÔÚÕ⼸ÌìµÄ¹¤×÷¹ý³ÌÖУ¬ÐèҪʵÏÖPHPÔÚ·þÎñÆ÷¶ËÄÜÓëÆäËû³ÌÐòͨÐÅ¡£ºÍÀϺÎÁ©ÈËÑо¿Á˰ëÌ죬ÖÕÓÚ´óÖÂŪ³öÁËÒ»¸öÓÃWINDOWSµÄÃüÃû¹ÜµÀͨÐŵķ½·¨¡£
Óм¸µãÐèҪעÒâµÄ£º
PHP·þÎñÆ÷¶ËÎÒÃÇÿ´Î¶¼ÊÇÖØÐ¹ҽÓÃüÃû¹ÜµÀ¡££¨ÕâÑùд£¬PHP¶Ë´úÂëÁ¿¼«ÆäÉÙ£¬¶øÇÒÒ²ºÜ·½±ã¡££©
ÄÇôÎÒÃÇÓÃC/C++дµÄÃüÃû¹ÜµÀ·þÎñÆ÷ÔòÐèҪÿ´ÎͨÐŶ¼´´½¨Ò»´Î¹ÜµÀ£¨·½·¨ºÜ¶ñÐÄ£¬µ«ÊÇÔÝʱÄÜʵÏÖ£¬¶øÇÒ¶ÔЧÂÊÒªÇó²»ÊÇÄÇô¸ß¡£ÎÒÃǾÍÕâôÓÃÁË¡££©
Èç¹û²»ÊÇÿ´Î¶¼´´½¨¹ÜµÀµÄ»°£¬»á³öÏÖ109´íÎó——Õâ¸öÎÊÌâÎÒÃǵ÷ÁËN¾Ã……
»¹ÓÐÒ»¸öʱÐòÎÊÌ⣬ÔڹܵÀSERVER¶Ëÿ´Î¹Ø±Õºó£¬ÐèÒªµÈPHP¶Ë´Ó¹ÜµÀÖÐÈ¡ÍêÊý¾Ý£¬ÔÙÖØÐ´´½¨¹ÜµÀ¡££¨´Ë´¦ÎÒÃÇΪͼ·½±ã£¬ÔÝʱÓõÄsleep¡££©
ÏÂÃæ¸ø³öÀý×Ó£º
PHP¿Í»§¶Ë
function Pipe($msg)
{
$fp = @fopen("\\\\.\\pipe\\tongxun", 'w+r+b');
@fwrite($fp,$msg);//д
$result = @fread($fp,256);//¶Á
fclose($fp);
}
C++·þÎñÆ÷¶Ë
while(1)
{
// ´´½¨¹ÜµÀ·þÎñÆ÷
char strPipeName[] = "\\\\.\\pipe\\tongxun";
char szBuf[1024] = {0};
DWORD dwRead ;
DWORD userID;
char cmd;
PSECURITY_DESCRIPTOR psd;
psd = (PSECURITY_DESCRIPTOR) LocalAlloc(LPTR, SECURITY_DESCRIPTOR_MIN_LENGTH);
if (!InitializeSecurityDescriptor(psd, SECURITY_DESCRIPTOR_REVISION))
{
LocalFree((HLOCAL)psd);
return -1;
}
if (!SetSecurityDescriptorDacl(psd, TRUE, (PACL)NULL, FALSE))
{
LocalFree((HLOCAL)psd);
return -1;
}
SECURITY_ATTRIBUTES saAttr;
saAttr.nLength =sizeof(SECURITY_ATTRIBUTES);
saAttr.lpSecurityDescriptor = psd;
saAttr.bInheritHandle = TRUE;
HANDLE hIPC = CreateNamedPipe(strPipeName,
PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,
PIPE_TYPE_BYTE | PIPE_READMODE_BYTE | PIPE_WAIT,
1, 0, 0, 1000, &saAttr);
if (hIPC == INVALID_HANDLE_VALUE)
{
return -1;
}
// Á¬½Ó¹ÜµÀ
ConnectNamedPipe(hIPC, NULL);
// ´Ó¹ÜµÀ¶ÁÈ¡ÐÅÏ¢
if (!ReadFile(hIPC, szBuf, sizeof(szBuf), &dwRead, 0))
{
break;
}
//´¦Àí¶Áµ½µÄÊý¾ÝszBuf...
....
//дÊý¾Ý...
//ÈçWriteFile(hIPC, msg, strlen(msg), &dwWrite, NULL)
CloseHandle(hIPC);
Sleep(100);
}
Ïà¹ØÎĵµ£º
Ê×ÏȽéÉÜһϴ˺¯ÊýµÄÓ÷¨£º
¶¨ÒåºÍÓ÷¨£¨php5£©
microtime() º¯Êý·µ»Øµ±Ç° Unix ʱ¼ä´ÁºÍ΢ÃëÊý¡£·µ»ØµÄ×Ö·û´®µÄ¸ñʽ£ºmsec sec
Óï·¨
microtime(get_as_float)
²ÎÊý ÃèÊö
get_as_float Èç¹û¸ø³öÁË get_as_float ²ÎÊý²¢ÇÒÆäÖµµÈ¼ÛÓÚ TRUE£¬¸Ãº¯Êý½«·µ»ØÒ»¸ö¸¡µãÊý¡£
˵Ã÷
±¾º¯Êý½öÔÚÖ§³Ö gettimeofday() ϵͳµ÷ ......
<?php
//µ÷ÊÔÊä³öÐÅÏ¢
$pageCount=15;
for($i=1;$i<=$pageCount;$i++){
dump(GetPageRange($i,$pageCount),$i);
}
//$currentPage µ±Ç°Ò³Âë
//$pageCount ×ÜÒ³Êý
//$leftSize ×ó²àÒ³Â뷶Χ
//$rightSize ÓÒ²àÒ³Â뷶Χ
//·µ»ØÒ³ÂëÇø¼äÊý×é
function GetPageRange($currentPage,$pageCount,$leftSize=3, ......
1.ÓÃ;:
·þÎñÆ÷¿ÉÒÔÀûÓÃCookies°üº¬ÐÅÏ¢µÄÈÎÒâÐÔÀ´É¸Ñ¡²¢¾³£ÐÔά»¤ÕâЩÐÅÏ¢£¬ÒÔÅжÏÔÚHTTP´«ÊäÖеÄ״̬¡£Cookies×îµäÐ͵ÄÓ¦ÓÃÊÇÅж¨×¢²áÓû§ÊÇ·ñÒѾµÇÂ¼ÍøÕ¾£¬Óû§¿ÉÄÜ»áµÃµ½Ìáʾ£¬ÊÇ·ñÔÚÏÂÒ»´Î½øÈë´ËÍøÕ¾Ê±±£ÁôÓû§ÐÅÏ¢ÒÔ±ã¼ò»¯µÇ¼ÊÖÐø£¬ÕâЩ¶¼ÊÇCookiesµÄ¹¦Óá£ÁíÒ»¸öÖØÒ ......
4.1 ¿é×¢ÊÍ
¿é×¢ÊÍͨ³£ÓÃÓÚÌṩ¶ÔÎļþ£¬·½·¨£¬Êý¾Ý½á¹¹ºÍËã·¨µÄÃèÊö¡£¿é×¢Êͱ»ÖÃÓÚÿ¸öÎļþµÄ¿ªÊ¼´¦ÒÔ¼°Ã¿¸ö·½·¨Ö®Ç°¡£ËüÃÇÒ²¿ÉÒÔ±»ÓÃÓÚÆäËûµØ·½£¬±ÈÈç·½·¨ÄÚ²¿¡£ÔÚ¹¦Äܺͷ½·¨ÄÚ²¿µÄ¿é×¢ÊÍÓ¦¸ÃºÍËüÃÇËùÃèÊöµÄ´úÂë¾ßÓÐÒ»ÑùµÄËõ½ø¸ñʽ¡£
¿é×¢ÊÍÖ®Ê×Ó¦¸ÃÓÐÒ»¸ö¿ÕÐУ¬ÓÃÓÚ°Ñ¿é×¢ÊͺʹúÂë·Ö¸î¿ªÀ´£¬±ÈÈ磺
/*
* ÕâÀïÊÇ¿é×¢ÊÍ ......
PHP»ñÈ¡¿Í»§¶ËIPµÄÇé¿ö·ÖΪ£ºÃ»ÓÐʹÓôúÀí·þÎñÆ÷µÄÇé¿ö¡¢Ê¹ÓÃ͸Ã÷´úÀí·þÎñÆ÷µÄÇé¿ö¡¢Ê¹ÓÃÆÕͨÄäÃû´úÀí·þÎñÆ÷µÄÇé¿ö¡¢Ê¹ÓÃÆÛÆÐÔ´úÀí·þÎñÆ÷µÄÇé¿ö¡¢Ê¹ÓøßÄäÃû´úÀí·þÎñÆ÷µÄÇé¿ö¡£
ÔÚÕâÆªÎÄÕÂÖУ¬ÎÒÃǽ«»áΪ´ó¼ÒÏêϸ½éÉÜPHP»ñÈ¡¿Í»§¶ËIPµÄ¼¸ÖÖÇé¿ö·ÖÎö¡£ÎÒÃÇÔÚʹÓÃPHP»ñÈ¡µÄIP¿ÉÄÜÊǿͻ§¶ËÕæÊµµÄIP£¬Ò²¿ÉÄÜÊÇ´úÀí·þÎñÆ÷µÄI ......