PHPÌ×½Ó×Ö±à³Ì
Ì×½Ó×Ö±à³Ì£¬Ò»°ãʹÓÃc»òc++¡£ÌرðµÄÔÚwebÓ¦ÓóÌÐò¿ª·¢ÖУ¬³£ÓÃperlʵÏÖÌ×½Ó×Ö¡£³ý´ËÒÔÍ⣬ÓÃphp½øÐÐÌ×½Ó×Ö±à³ÌÒ²ÊÇÒ»¸öÑ¡Ôñ¡£Php¿ÉÒÔʤÈÎÂ𣿵±È»¿ÉÒÔ¡£PhpÊÇһßßÖÊÁ¿µÄwebÓ¦ÓóÌÐò¿ª·¢ÓïÑÔ£¬ËûµÄÐí¶àÌØÐÔ¿ÉÒÔ´¦ÀíÖÚ¶àµÄÈÎÎñ£¬ÍøÂç±à³ÌÒ²²»ÀýÍâ¡£
1. Àí½âÌ×½Ó×Ö
Mail¡¢ftp¡¢telnet¡¢nameºÍfingerÕâЩ·þÎñ¶¼ÊÇÔÚÒ»¸öרÓõĹ«¿ªµÄ¶Ë¿ÚÉÏÌṩµÄ,ͨ¹ýÁ¬½Óµ½ÕâЩ¶Ë¿Ú,¿Í»§³ÌÐò¾ÍÄܹ»·ÃÎÊÕâЩ·þ
Îñ¡£ÕâÓëÏÖʵÉú»îÊÇÏàËÆµÄ——µ±ÐèÒª¸ÉÏ´Ò·þµÄʱºò,ÕÒ¸ÉÏ´µê;µ±ÐèҪȡǮµÄʱºò,È¥ÒøÐÐ,µÈµÈ¡£³ýÁËרÓÃÓÚÌØ¶¨·þÎñÆ÷µÄ¶Ë¿ÚÍâ,¼ÆËã»ú»¹ÓÐÆäËüµÄ¶Ë¿ÚÈÃ
³ÌÐòÔ±´´½¨ËûÃÇ×Ô¼ºµÄ·þÎñÆ÷¡£
¶Ë¿ÚÒ»°ãÊDZàºÅµÄ,ͨ¹ýÖ¸¶¨·þÎñÆ÷µÄ¶Ë¿ÚºÅ,¿Í»§³ÌÐò¿ÉÒÔÁ¬½Óµ½¸Ã¶Ë¿ÚÉÏ¡£Ã¿ÖÖ·þÎñÆ÷»ò¶Ë¿ÚÒªÓÐÌØ¶¨µÄÐÒé,ΪÁËÈÿͻ§µÄÇëÇóÄܹ»±»Àí½âºÍÏìÓ¦,¿Í»§±ØÐëÒÔÕâÖÖ·þÎñÆ÷ÌØÓеķ½Ê½Ðγɿͻ§ÇëÇó¡£
SocketÊÇÍøÂçÉÏÔËÐеÄÁ½¸ö³ÌÐò¼äË«ÏòͨÐÅÁ¬½ÓµÄÒ»¶Ë¡£SocketÕâ¸ö´ÊµÄÒ»°ãÒâÒåÊÇ×ÔÈ»µÄ»òÈ˹¤µÄ²å¿Ú,Èç¼ÒÓõçÆ÷µÄµçÔ´²å¿ÚµÈ¡£
¿Í»§³ÌÐò¿ÉÒÔÏòSocketдÇëÇó,·þÎñÆ÷½«´¦Àí´ËÇëÇó,È»ºóͨ¹ýSocket°Ñ½á¹û·µ»Ø¸ø¿Í»§¡£
SocketÊÇÒ»ÖֵײãÁ¬½Ó¡£¿Í»§»úºÍ·þÎñÆ÷ͨ¹ýдÈëµ½SocketµÄ×Ö½ÚÁ÷½øÐÐͨÐÅ¡£ËüÃDZØÐëÓй²Í¬µÄÐÒé,Ò²¾ÍÊÇ˵,ͨ¹ýSocketÏ໥´«ËÍÐÅϢʱËùÓõÄÓïÑÔ±ØÐëÊÇж¨ºÃµÄ¡£
2. Socket½¨Á¢Á¬½ÓµÄ¹ý³Ì
½¨Á¢¹ý³ÌÈçÏÂ:(connection-oriented)
server ·½¹ý³Ì client ·½¹ý³Ì
socket() socket()
| |
bind() bind()
| |
listen() |
| |
accept()<------------------connect()
| |
recv()/send() <----------> send()/recv()
3. Php »ù±¾Ì×½Ó×Öµ÷Óãº
3.1. »ù±¾Ì×½Ó×Öµ÷ÓÃ
´´½¨Ì×½Ó×Ö--socket();
°ó¶¨±¾»ú¶Ë¿Ú--bind();
½¨Á¢Á¬½Ó--connect(),accept();
ÕìÌý¶Ë¿Ú--listen();
Êý¾Ý´«Êä--send(),recv();
ÊäÈë/Êä³ö¶à·¸´ÓÃ--select();
¹Ø±ÕÌ×½Ó×Ö--closesocket()
3.2. phpÌṩµÄÌ×½Ó×Öµ÷Óãº
½ÓÊÜÁ¬½Ó-—accept connect()
°ó¶¨¶Ë¿Ú—bind ()
¹Ø±ÕÌ×½Ó×Ö—close()
³õʼ»¯Á¬½Ó—connect()
ÕìÌý¶Ë¿Ú—listen()
¶ÁÈ¡Ì×½Ó×Ö—read()
´´½¨Ì×½Ó×Ö—socket()
дÌ×½Ó×Ö—write()
4. »ù±¾Ó¦ÓÃ
4.1. Ò»¸ö¼òµ¥µÄTCP·þÎñÆ÷
1 #!/usr/local/bin/php -q
2
3 <?php
4 /*
5 * We don't want any time-limit for how the long can hang
6 * around, waiting for connect
Ïà¹ØÎĵµ£º
Perl¡¢PHP¡¢ASP¡¢JSP¼¼Êõ±È½Ï
±¾ÎĽ«¶ÔĿǰ×î³£ÓõÄËÄÖÖ¶¯Ì¬ÍøÒ³ÓïÑÔPerl£¨Practical Extraction and Report Language£©¡¢PHP£¨Hypertext Preprocessor£©¡¢ASP£¨Active Server Pages£©¡¢JSP£¨JavaServer Pages£©½øÐÐһЩ¼¼ÊõÐԵıȽϡ£
¡¡¡¡Perl
¡¡¡¡Perl£¨Practical Extraction and Report Language£©ÊÇÒ»ÖֺܹÅÀϵĽű ......
À´Ô´ÓÚ£ºhttp://news.csdn.net/a/20100205/216909.html
¾Ý¡¶Å¦Ô¼Ê±±¨¡·ÍøÕ¾±¨µÀ
£¬¶ÁÐ´Íø¼ÇÕßÓëPHPµÄ´´ÔìÕßRasmus LerdorfÁªÏµ£¬Ñ¯ÎÊËû¶ÔFacebook¸Õ¸Õ¿ªÔ´µÄPHPÓÅ»¯ÏîÄ¿HipHopÓкο´·¨¡£LerdorfÔÚÓʼþÖÐ˵£¬ÕâÊÇÒ»¸öºÜ¿áµÄÏîÄ¿£¬¿Ï¶¨»á³ÉÎªÄ³Ð©ÍøÕ¾ºÜºÃµÄÑ¡Ôñ¡£
µ«ÊÇ£¬Ëû½ÓÏÂÀ´Ëµ£¬¶ÔÓÚÐí¶àWebÓ¦ÓÃÀ´Ëµ£¬Ö´ÐÐËٶȲ¢²»ÊÇÖ ......
Óà PHP ¿ØÖÆä¯ÀÀÆ÷»º´æÊǷdz£ÈÝÒ׵ģ¬ÊÖ²áÉÏÒ²Ïà¹ØµÄ˵Ã÷£¬ÓÉÓںܶà³õѧÕßûÓаÑÊֲῴÍ꣬ËùÒÔ»¹ÊÇ»áÓÐºÜ¶à¹ØÓÚÕâ¸öÎÊÌâµÄÒÉÎÊ£¬¹ÊÔÚ´ËרÃÅ·¢Ò»ÆªÎÄÕ£¬Í¬Ê±¶ÔÏà¹ØµÄÓï·¨×öÁËÏêϸµÄ˵Ã÷£¬·½±ãÐÂÊÖ²éÔÄ¡£
¡¡¡¡Òª½â¾öÕâÒ»ÎÊÌ⣬¿ÉÒÔͨ¹ý PHP ÖÐµÄ header() º¯Êý£¬·¢ËÍÌØ¶¨µÄ»º´æ¿ØÖÆÔʼ HTTP ±êÍ·£¬¾ßÌå´úÂëÈçÏ£º
Exampl ......
<?php
//µ÷ÊÔÊä³öÐÅÏ¢
$pageCount=15;
for($i=1;$i<=$pageCount;$i++){
dump(GetPageRange($i,$pageCount),$i);
}
//$currentPage µ±Ç°Ò³Âë
//$pageCount ×ÜÒ³Êý
//$leftSize ×ó²àÒ³Â뷶Χ
//$rightSize ÓÒ²àÒ³Â뷶Χ
//·µ»ØÒ³ÂëÇø¼äÊý×é
function GetPageRange($currentPage,$pageCount,$leftSize=3, ......