¡¾·±ÌåÖÐÎÄ¡¿
¡¾ÉèΪÊ×Ò³¡¿
¡¾¼ÓÈëÊղء¿
µ±Ç°Î»ÖãºPHP¼¼ÊõÊ×Ò³ >> PHP»ù´¡ >> ÔÚ php ÖÐʹÓà sockets£º´ÓÐÂÎÅ×éÖлñÈ¡ÎÄÕÂ

ÔÚ php ÖÐʹÓà sockets£º´ÓÐÂÎÅ×éÖлñÈ¡ÎÄÕÂ

2005-02-15 08:00:00  ×÷Õߣº  À´Ô´£º»¥ÁªÍø  ä¯ÀÀ´ÎÊý£º0  ÎÄ×Ö´óС£º¡¾´ó¡¿¡¾ÖС¿¡¾Ð¡¡¿
¼ò½é£ºPHPÄÜ´ò¿ªÔ¶³Ì»ò±¾µØÖ÷»úÉϵÄSocket¶Ë¿Ú¡£±¾ÎÄÊÇÒ»¸öʹÓÃSocketµÄСÀý×Ó£ºÁ¬ ½Óµ½Ò»¸öUsenetÐÂÎÅ×é·þÎñÆ÷£¬Í¬·þÎñÆ÷¶Ô»°£¬´ÓÐÂÎÅ×éÖÐÏÂÔØÒ»Ð©ÎÄÕ¡£ ÔÚPHPÖдò¿ªÒ»¸ösocket ʹÓÃfsockopen()´ò¿ªÒ»¸ösocket.Õâ¸öº¯...

PHPÄÜ´ò¿ªÔ¶³Ì»ò±¾µØÖ÷»úÉϵÄSocket¶Ë¿Ú¡£±¾ÎÄÊÇÒ»¸öʹÓÃSocketµÄСÀý×Ó£ºÁ¬

½Óµ½Ò»¸öUsenetÐÂÎÅ×é·þÎñÆ÷£¬Í¬·þÎñÆ÷¶Ô»°£¬´ÓÐÂÎÅ×éÖÐÏÂÔØÒ»Ð©ÎÄÕ¡£

ÔÚPHPÖдò¿ªÒ»¸ösocket

ʹÓÃfsockopen()´ò¿ªÒ»¸ösocket.Õâ¸öº¯ÊýÔÚPHP3ºÍPHP4ÖÖ¶¼¿ÉÒÔʹÓ᣺¯ÊýÉùÃ÷

ÊÇÕâÑùµÄ£º

int fsockopen (string hostname, int port [, int errno [, string errstr [, double timeout]]])

Õâ¸öº¯Êý½«´ò¿ªÒ»¸öÁ¬½Óµ½Ö÷»úhostnameµÄport¶Ë¿ÚµÄTCPÁ¬½Ó¡£hostname¿ÉÒÔÊÇÒ»

¸öÓÐЧµÄÓòÃû£¬»òÕßÊÇÒ»¸öipµØÖ·¡£¶ÔÓÚudpÁ¬½Ó£¬Äã±ØÐëÖ¸¶¨Ð­Ò飺udp://hostname.

¶ÔÓÚunixÓò£¬Ö÷»úÃûʹÓõ½socketµÄ·¾¶£¬ÕâÖÖÇé¿öÏ£¬¶Ë¿Úport±ØÐëÖÃΪ0¡£¿ÉÑ¡

µÄtimeout²ÎÊýÓÃÀ´É趨µÈ´ý´ò¿ªÒ»¸ösocketµÄʱ¼ä£¬µ¥Î»ÎªÃë¡£

¹ØÓÚfsockopen()µÄ¸ü¶àÐÅÏ¢£¬Çë²Î¿¼£ºh

ttp://www.PHP.net/manual/function.fsockopen.PHP

ÍøÂçÐÂÎÅ´«ÊäЭÒé

·ÃÎÊÐÂÎÅ×é·þÎñÆ÷ÐèҪͨ¹ý³ÆÎªNNTP£¨ÍøÂçÐÂÎÅ´«ÊäЭÒ飩µÄЭÒéÀ´½øÐС£Õâ¸öЭÒé

ÔÚrfc977ÖÐÓÐÏêϸµÄϸ½Ú£¬¿ÉÒÔÔÚhttp://www.w3.org/Protocols/rfc977/rfc977.HTML

µÃµ½¡£Õâ¸öÎĵµ·Ö±ðÃèÊöÁËÔõÑùÁ¬½Óµ½NNTP·þÎñÆ÷£¬ÔõÑùͬ·þÎñÆ÷¶Ô»°£¬ÒÔ¼°Íê³ÉÕâ

ЩÈÎÎñµÄ²»Í¬ÃüÁî¡£

Á¬½Ó

Á¬½Óµ½Ò»¸öNNTP·þÎñÆ÷ÐèÒªÖªµÀËüµÄÖ÷»úÃû£¨»òÕßÊÇipµØÖ·£©ºÍËüÕìÌýµÄ¶Ë¿Ú¡£ÎªÁË

±ÜÃâÒ»¸öÁ¬½ÓÆóͼʧ°Üµ¼Ö³ÌÐò¹ÒÆð£¬ÄãÓ¦¸ÃʹÓÃtimeout²ÎÊý¡£

Óë·þÎñÆ÷¶Ô»°

¡¡¡¡ÏÖÔÚÎÒÃÇÒѾ­Á¬½Óµ½ÁË·þÎñÆ÷£¬¿ÉÒÔͨ¹ýÇ°Ãæ´ò¿ªµÄsocketͬ·þÎñÆ÷¶Ô»°ÁË¡£±ÈÈç

˵ÎÒÃÇÒª´Óij¸öÐÂÎÅ×éµÃµ½×î½üµÄ10ƪÎÄÕ¡£RFC977Ö¸³ö£¬µÚÒ»²½ÒªÓÃGROUPÃüÁîÑ¡Ôñ

ÕýÈ·µÄÐÂÎÅ×é:

GROUP ggg

²ÎÊýgggÊÇҪѡÔñµÄÐÂÎÅ×éµÄÃû×Ö£¨±ÈÈç˵ÊÇ"net.news"£©£¬ÕâÊDZØÐèµÄ¡£¿ÉÓõÄÐÂ

ÎÅ×éµÄÁбí¿ÉÒÔÓÃLISTÃüÁîµÃµ½¡£Ñ¡ÔñÐÂÎÅ×éµÄÃüÁî³É¹¦ºó£¬·µ»Ø×éÖеÚһƪºÍ×î

ºóһƪÎÄÕµÄÎÄÕ±àºÅ£¬ÒÔ¼°×éÖÐÎÄÕµÄÊýÄ¿¡£

ÏÂÃæÊÇÒ»¸öÀý×Ó£º

chrome:~$ telnet my.news.host 119

Trying aa.bb.cc.dd...

Connected to my.news.host.

Escape character is '^]'.

200 my.news.host InterNetNews NNRP server INN 2.2.2 13-Dec-1999 ready (posting ok).

GROUP alt.test

211 232 222996 223235 alt.test

quit

205 .

½ÓÊÕµ½ÃüÁî GROUP alt.test ºó£¬·þÎñÆ÷·µ»Ø"211 232 222996 223235 alt.test".

211ÊÇRFCÖж¨ÒåµÄ·µ»ØÂ룬ָʾÃüÁîÒѳɹ¦Ö´ÐС£·µ»ØÐÅÏ¢»¹Ö¸³ö£¬ÏÖÔÚÓÐ232ƪÎÄ

Õ£¬×îÔçµÄÎÄÕµıàºÅÊÇ222996£¬×îеÄÎÄÕµıàºÅÊÇ223235¡£ÎÒÃÇ¿´µ½£¬

222996+232²¢²»µÈÓÚ223235¡£¶ªÊ§µÄ7ƪÎÄÕÂÒòΪijÖÖÔ­Òò±»´Ó·þÎñÆ÷ɾ³ýÁË£¬¿ÉÄÜ

ÊÇÒòΪ±»ËüµÄºÏ·¨×÷ÕßÈ¡ÏûÁË£¨ÕâÊÇ¿ÉÄܵ쬶øÇÒºÜÈÝÒ××öµ½£©£¬»òÕßÒòΪÊǹàË®ÎÄ

Õ¶ø±»É¾¡£

ÐèҪעÒâµÄÊ£¬ÓÐЩ·þÎñÆ÷ÔÚÑ¡ÔñÐÂÎÅ×é֮ǰ¿ÉÄÜÒªÇóÉí·ÝÈÏÖ¤£¬ÕâÈ¡¾öÓÚÕâÊÇÒ»¸ö

¹«¹²µÄ»òÕßÊÇ˽ÓõķþÎñÆ÷¡£Ò²ÓпÉÄÜ·þÎñÆ÷ÔÊÐíÈκÎÈ˶ÁÈ¡ÎÄÕ£¬µ«·¢±íÎÄÕÂÐèÒª

Éí·ÝÑéÖ¤¡£

ÔðÈα༭£ºadmin
±¾ÎÄÒýÓõØÖ·£º http://www.3pcode.com/php/2005/02/12376.htm
Ïà¹ØÎÄÕÂ