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
Ïà¹ØÎĵµ£º
ÔÎÄÁ´½Ó£ºhttp://www.phpdo.net/index.php/2010/02/04/1-11/
PHPÊý×飨array£©
°ÑÖµÓ³Éäµ½¼üµÄÀàÐÍ¡£
PHP¶ÔÏó£¨object£©
¶ÔÏÖʵÉú»îÖÐÎïÌåµÄÄ£Äâ¡£
PHP¿ÕÖµ£¨null£©
±íʾһ¸öûÓÐÖµµÄÁ¿¡£
ÀýÈç:
¡¡<?php
¡¡¡¡$php = “”;
¡¡¡¡if(isset($a))
¡¡¡¡echo “[1] is NULL<br>”; ......
CakePHPÊÇÒ»¸ö·Ç³£Ñ¸ËÙPHP¿ò¼Ü£¬ÓÐЧËõ¶Ì¿ª·¢ÖÜÆÚ£¬Äܹ»Áé»îµÄ¼Ü¹¹£¬¿ª·¢£¬Î¬»¤ºÍ²¿ÊðµÄÓ¦ÓóÌÐò¡£Ëü²ÉÓÃÏñMVCÓëORMÒ»ÑùµÄÉè¼ÆÄ£Ê½£¬ÓÐÖúÓÚ½µµÍ¿ª·¢·ÑÓ㬲»ÐèÒª¿ª·¢ÈËÔ±±àдÁËÌ«¶à´úÂë¡£CakePHPÓµÓкܶà´ó¿Í»§£¬±ÈÈ磺MozillaµÄAddons£¬ÃÀ¹úÂéÊ¡Àí¹¤Ñ§ÔºµÄScratch£¬Ò®Â³´óѧµÄÿÈÕÐÂÎÅ¡£
ÍÆ¼öÖ¸Êý£º6ÐǼ¶
ѧϰ³É±¾£ºÒ» ......
CodeIgniterÊÇÒ»¸ö·Ç³£Ð¡£¬PHP ÍøÕ¾¿ª·¢ÕßʹÓõÄÓ¦ÓóÌÐò¿ª·¢¿ò¼ÜºÍ¹¤¾ß°üºÜÓÐǰ¾°µÄPHP¿ª·¢¿ò¼Ü¡£ËüÌṩһÌ׷ḻµÄ±ê×¼¿âÒÔ¼°¼òµ¥µÄ½Ó¿ÚºÍÂß¼½á¹¹£¬ÆäÄ¿µÄÊÇʹ¿ª·¢ÈËÔ±¸ü¿ìËٵؽøÐÐÏîÄ¿¿ª·¢¡£Ê¹Óà CodeIgniter ¿ÉÒÔ¼õÉÙ´úÂëµÄ±àдÁ¿£¬²¢½«ÄãµÄ¾«Á¦Í¶Èëµ½ÏîÄ¿µÄ´´ÔìÐÔ¿ª·¢ÉÏ¡£
ÍÆ¼öÖ¸Êý£º8ÐǼ¶
ѧϰ³É±¾£ºÒ»¸öÀñ°Ý
ƽ ......
Óà PHP ¿ØÖÆä¯ÀÀÆ÷»º´æÊǷdz£ÈÝÒ׵ģ¬ÊÖ²áÉÏÒ²Ïà¹ØµÄ˵Ã÷£¬ÓÉÓںܶà³õѧÕßûÓаÑÊֲῴÍ꣬ËùÒÔ»¹ÊÇ»áÓÐºÜ¶à¹ØÓÚÕâ¸öÎÊÌâµÄÒÉÎÊ£¬¹ÊÔÚ´ËרÃÅ·¢Ò»ÆªÎÄÕ£¬Í¬Ê±¶ÔÏà¹ØµÄÓï·¨×öÁËÏêϸµÄ˵Ã÷£¬·½±ãÐÂÊÖ²éÔÄ¡£
¡¡¡¡Òª½â¾öÕâÒ»ÎÊÌ⣬¿ÉÒÔͨ¹ý PHP ÖÐµÄ header() º¯Êý£¬·¢ËÍÌØ¶¨µÄ»º´æ¿ØÖÆÔʼ HTTP ±êÍ·£¬¾ßÌå´úÂëÈçÏ£º
Exampl ......
ÿ¸öÈ˵Äѧϰ·½Ê½²»Í¬£¬Ð´ÕâÆªÎÄÕµÄÄ¿µÄÊÇ·ÖÏíÒ»ÏÂ×Ô¼ºµÄѧϰ¹ý³Ì£¬½ö¹©²Î¿¼£¬²»ÒªÒ»Î¶µÄÓñðÈ˵Äѧϰ·½·¨£¬ÕÒ¶Ô×Ô¼ºÓÐÓõÄѧϰ·½Ê½
¾³£ÔÚijЩÂÛ̳ºÍQQȺÀï¿´µ½Ò»Ð©ÅóÓÑ»áÎÊ“ÔõÑù²ÅÄÜѧºÃPHP£¬ÔõÑù²ÅÄÜѧºÃ***ÓïÑÔ ”£¬µ«±ðÈ˻شð×î¶àµÄÊÇ£º´Ó×òµ¥”µÄ¿ªÊ¼¡£
Õâ¸ö¼òµ¥Ò²ÐíÕæµÄ²»¼òµ¥£¬ºÇºÇ¡£Ï ......