linux send recvº¯ÊýÏê½â
i
nt send( SOCKET s, const char FAR *buf, int len, int flags );
²»ÂÛÊǿͻ§»¹ÊÇ·þÎñÆ÷Ó¦ÓóÌÐò¶¼ÓÃsendº¯ÊýÀ´ÏòTCPÁ¬½ÓµÄÁíÒ»¶Ë·¢ËÍÊý¾Ý¡£
¿Í»§³ÌÐòÒ»°ãÓÃsendº¯ÊýÏò·þÎñÆ÷·¢ËÍÇëÇ󣬶ø·þÎñÆ÷Ôòͨ³£ÓÃsendº¯ÊýÀ´Ïò¿Í»§³ÌÐò·¢ËÍÓ¦´ð¡£
¸Ãº¯ÊýµÄµÚÒ»¸ö²ÎÊýÖ¸¶¨·¢ËͶËÌ×½Ó×ÖÃèÊö·û£»
µÚ¶þ¸ö²ÎÊýÖ¸Ã÷Ò»¸ö´æ·ÅÓ¦ÓóÌÐòÒª·¢ËÍÊý¾ÝµÄ»º³åÇø£»
µÚÈý¸ö²ÎÊýÖ¸Ã÷ʵ¼ÊÒª·¢Ë͵ÄÊý¾ÝµÄ×Ö½ÚÊý£»
µÚËĸö²ÎÊýÒ»°ãÖÃ0¡£
ÕâÀïÖ»ÃèÊöͬ²½SocketµÄsendº¯ÊýµÄÖ´ÐÐÁ÷³Ì
¡£µ±µ÷Óøú¯Êýʱ£¬
£¨1£©sendÏȱȽϴý·¢ËÍÊý¾ÝµÄ³¤¶ÈlenºÍÌ×½Ó×ÖsµÄ
·¢ËÍ»º³åµÄ³¤¶È
£¬ Èç¹ûlen´óÓÚsµÄ·¢ËÍ»º³åÇøµÄ³¤¶È£¬¸Ãº¯Êý·µ»ØSOCKET_ERROR£»
£¨2£©Èç¹ûlenСÓÚ»òÕßµÈÓÚsµÄ·¢ËÍ»º³åÇøµÄ³¤¶È£¬ÄÇôsendÏȼì²éÐÒéÊÇ·ñÕýÔÚ·¢ËÍsµÄ·¢ËÍ»º³åÖеÄÊý¾Ý£¬Èç¹ûÊǾ͵ȴýÐÒé°ÑÊý¾Ý·¢ËÍÍ꣬Èç¹ûÐÒé
»¹Ã»ÓпªÊ¼·¢ËÍsµÄ·¢ËÍ»º³åÖеÄÊý¾Ý»òÕßsµÄ·¢ËÍ»º³åÖÐûÓÐÊý¾Ý£¬ÄÇôsend¾Í±È½ÏsµÄ·¢ËÍ»º³åÇøµÄÊ£Óà¿Õ¼äºÍlen
£¨3£©Èç¹ûlen´óÓÚÊ£Óà¿Õ¼ä´óС£¬send¾ÍÒ»Ö±µÈ´ýÐÒé°ÑsµÄ·¢ËÍ»º³åÖеÄÊý¾Ý·¢ËÍÍê
£¨4£©Èç¹ûlenСÓÚÊ£Óà ¿Õ¼ä´óС£¬send¾Í½ö½ö°ÑbufÖеÄÊý¾Ýcopyµ½Ê£Óà¿Õ¼äÀ
×¢Òâ²¢²»ÊÇsend°ÑsµÄ·¢ËÍ»º³åÖеÄÊý¾Ý´«µ½Á¬½ÓµÄÁíÒ»¶ËµÄ£¬¶øÊÇÐÒé´«µÄ£¬send½ö½öÊǰÑbufÖеÄÊý¾Ýcopyµ½sµÄ·¢ËÍ»º³åÇøµÄÊ£Óà¿Õ¼äÀï
£©¡£
Èç¹ûsendº¯ÊýcopyÊý¾Ý³É¹¦£¬¾Í·µ»ØÊµ¼ÊcopyµÄ×Ö½ÚÊý£¬Èç¹ûsendÔÚcopyÊý¾Ýʱ³öÏÖ´íÎó£¬ÄÇôsend¾Í·µ»ØSOCKET_ERROR£»Èç¹ûsendÔڵȴýÐÒé´«ËÍÊý¾ÝÊ±ÍøÂç¶Ï¿ªµÄ»°£¬ÄÇôsendº¯ÊýÒ²·µ»ØSOCKET_ERROR¡£
ҪעÒâsendº¯Êý°ÑbufÖеÄÊý¾Ý³É¹¦copyµ½sµÄ·¢ËÍ»º³åµÄÊ£Óà¿Õ¼äÀïºóËü¾Í·µ»ØÁË£¬µ«ÊÇ´ËʱÕâЩÊý¾Ý²¢²»Ò»¶¨ÂíÉϱ»´«µ½Á¬½ÓµÄÁíÒ»¶Ë
¡£
Èç
¹ûÐÒéÔÚºóÐøµÄ´«Ë͹ý³ÌÖгöÏÖÍøÂç´íÎóµÄ»°£¬ÄÇôÏÂÒ»¸öSocketº¯Êý¾Í»á·µ»ØSOCKET_ERROR¡££¨Ã¿Ò»¸ö³ýsendÍâµÄSocketº¯ÊýÔÚÖ´
ÐеÄ×ʼ×ÜÒªÏȵȴýÌ×½Ó×ֵķ¢ËÍ»º³åÖеÄÊý¾Ý±»ÐÒé´«ËÍÍê±Ï²ÅÄܼÌÐø£¬Èç¹ûÔڵȴýʱ³öÏÖÍøÂç´íÎó£¬ÄÇô¸ÃSocketº¯Êý¾Í·µ»Ø
SOCKET_ERROR£©
×¢Ò⣺ÔÚUnixϵͳÏ£¬Èç¹ûsendÔڵȴýÐÒé´«ËÍÊý¾ÝÊ±ÍøÂç¶Ï¿ªµÄ»°£¬µ÷ÓÃsendµÄ½ø³Ì»á½ÓÊÕµ½Ò»¸öSIGPIPEÐźţ¬½ø³Ì¶Ô¸ÃÐźŵÄĬÈÏ´¦ÀíÊǽø³ÌÖ
Ïà¹ØÎĵµ£º
Èç¹ûÄãÊÇÒ»¸öÈí¼þ¿ª·¢ÈËÔ±£¬Èç¹ûÄãÊÇÒ»¸ö¾³£×ö²úÆ·ÉÏÏß²Ù×÷µÄ³ÌÐòÔ±£¬ÄãÒ»¶¨»á¶ÔtarÃüÁîºÜÊìϤ£¬ËüÊÇÒ»¸ö´ò°üÃüÁµ«¾ßÌåµÄ´ò°üÄÚÈÝ¿ÉÄÜÊÇÒ»¸öºÜ³¤µÄÎļþÁÐ±í£¬Èç¹û²¿·ÖÎļþÉÏÏߵϰÈ˹¤ÖÆ×÷Ò»¸öÎļþÁбíÊÇÒ»¼þºÜÀ˷Ѿ«Á¦µÄÊÂÇé¡£
ÓÚÊÇÎÒдÁËÒ»¸öshell½Å±¾,ÓÃÀ´²éÕÒ ......
### Section 1: Global Environment
//µ±·þÎñÆ÷ÏìÓ¦Ö÷»úÍ·£¨header£©ÐÅϢʱÏÔʾApacheµÄ°æ±¾ºÍ²Ù×÷ϵͳÃû³Æ
ServerTokens OS
//ÉèÖ÷þÎñÆ÷µÄ¸ùĿ¼
ServerRoot "/etc/httpd"
#ScoreBoardFile run/httpd.scoreboard
//ÉèÖÃÔËÐÐApacheʱʹÓõÄPidFileµÄ·¾¶
PidFile run/httpd.pid
//Èô300ÃëºóûÓÐÊÕµ½»òËͳöÈκÎÊ ......
1. Linux ½Å±¾±àд»ù´¡
1.1 Óï·¨»ù±¾½éÉÜ
1.1.1 ¿ªÍ·
³ÌÐò±ØÐëÒÔÏÂÃæµÄÐпªÊ¼£¨±ØÐë·½ÔÚÎļþµÄµÚÒ»ÐУ©£º
#!/bin/sh
¡¡¡¡·ûºÅ#!ÓÃÀ´¸æËßϵͳËüºóÃæµÄ²ÎÊýÊÇÓÃÀ´Ö´ÐиÃÎļþµÄ³ÌÐò¡£ÔÚÕâ¸öÀý×ÓÖÐÎÒÃÇʹÓÃ/bin/shÀ´Ö´ÐгÌÐò¡£
¡¡¡¡µ±±à¼ºÃ½Å±¾Ê±£¬Èç¹ûÒªÖ´Ðиýű¾£¬»¹±ØÐëʹÆä¿ÉÖ´ÐС£
¡¡¡¡ÒªÊ¹½Å±¾¿ÉÖ´ÐУº
±àÒ ......
¼ÙÈçÓÐÒÔϵķÓÉ±í£º
10.101.184.32 * 255.255.255.224 U 0 0 0 eth0
10.101.186.0&nb ......