Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÏÂgetsockopt/setsockopt º¯Êý˵Ã÷

¹¦ÄÜÃèÊö£º
        »ñÈ¡»òÕßÉèÖÃÓëij¸öÌ×½Ó×Ö¹ØÁªµÄÑ¡ ÏѡÏî¿ÉÄÜ´æÔÚÓÚ¶à²ãЭÒéÖУ¬ËüÃÇ×Ü»á³öÏÖÔÚ×îÉÏÃæµÄÌ×½Ó×ֲ㡣µ±²Ù×÷Ì×½Ó×ÖÑ¡Ïîʱ£¬Ñ¡ÏîλÓڵIJãºÍÑ¡ÏîµÄÃû³Æ±ØÐë¸ø³ö¡£ÎªÁ˲Ù×÷Ì×½Ó×Ö²ãµÄÑ¡ÏӦ¸Ã ½«²ãµÄÖµÖ¸¶¨ÎªSOL_SOCKET¡£ÎªÁ˲Ù×÷ÆäËü²ãµÄÑ¡Ï¿ØÖÆÑ¡ÏîµÄºÏÊÊЭÒéºÅ±ØÐë¸ø³ö¡£ÀýÈ磬ΪÁ˱íʾһ¸öÑ¡ÏîÓÉTCPЭÒé½âÎö£¬²ãÓ¦¸ÃÉ趨ΪЭÒé ºÅTCP¡£
Ó÷¨£º
#include <sys/types.h>
#include <sys/socket.h>
int getsockopt(int sock, int level, int optname, void *optval, socklen_t *optlen);
int setsockopt(int sock, int level, int optname, const void *optval, socklen_t optlen);
²ÎÊý£º  
sock£º½«Òª±»ÉèÖûòÕß»ñȡѡÏîµÄÌ×½Ó×Ö¡£
level£ºÑ¡ÏîËùÔÚµÄЭÒé²ã¡£
optname£ºÐèÒª·ÃÎʵÄÑ¡ÏîÃû¡£
optval£º¶ÔÓÚgetsockopt()£¬Ö¸Ïò·µ»ØÑ¡ÏîÖµµÄ»º³å¡£¶ÔÓÚsetsockopt()£¬Ö¸Ïò°üº¬ÐÂÑ¡ÏîÖµµÄ»º³å¡£
optlen£º¶ÔÓÚgetsockopt()£¬×÷ΪÈë¿Ú²ÎÊýʱ£¬Ñ¡ÏîÖµµÄ×î´ó³¤¶È¡£×÷Ϊ³ö¿Ú²ÎÊýʱ£¬Ñ¡ÏîÖµµÄʵ¼Ê³¤¶È¡£¶ÔÓÚsetsockopt()£¬ÏÖÑ¡ÏîµÄ³¤¶È¡£
·µ»ØËµÃ÷£º  
³É¹¦Ö´ÐÐʱ£¬·µ»Ø0¡£Ê§°Ü·µ»Ø-1£¬errno±»ÉèΪÒÔϵÄij¸öÖµ  
EBADF£ºsock²»ÊÇÓÐЧµÄÎļþÃèÊö´Ê
EFAULT£ºoptvalÖ¸ÏòµÄÄÚ´æ²¢·ÇÓÐЧµÄ½ø³Ì¿Õ¼ä
EINVAL£ºÔÚµ÷ÓÃsetsockopt()ʱ£¬optlenÎÞЧ
ENOPROTOOPT£ºÖ¸¶¨µÄЭÒé²ã²»ÄÜʶ±ðÑ¡Ïî
ENOTSOCK£ºsockÃèÊöµÄ²»ÊÇÌ×½Ó×Ö
²ÎÊýÏêϸ˵Ã÷£º
levelÖ¸¶¨¿ØÖÆÌ×½Ó×ֵIJã´Î.¿ÉÒÔÈ¡ÈýÖÖÖµ:
1)SOL_SOCKET:ͨÓÃÌ×½Ó×ÖÑ¡Ïî.
2)IPPROTO_IP:IPÑ¡Ïî.
3)IPPROTO_TCP:TCPÑ¡Ïî.¡¡
optnameÖ¸¶¨¿ØÖƵķ½Ê½(Ñ¡ÏîµÄÃû³Æ),ÎÒÃÇÏÂÃæÏêϸ½âÊÍ¡¡
optval»ñµÃ»òÕßÊÇÉèÖÃÌ×½Ó×ÖÑ¡Ïî.¸ù¾ÝÑ¡ÏîÃû³ÆµÄÊý¾ÝÀàÐͽøÐÐת»»¡¡
Ñ¡ÏîÃû³Æ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ËµÃ÷¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Êý¾ÝÀàÐÍ
========================================================================
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡SOL_SOCKET
------------------------------------------------------------------------
SO_BROADCAST¡¡¡¡¡¡¡¡¡¡¡¡ÔÊÐí·¢Ë͹㲥Êý¾Ý¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int
SO_DEBUG¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÔÊÐíµ÷ÊÔ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int
SO_DONTROUTE¡¡¡¡¡¡¡¡¡¡¡¡²»²éÕÒ·ÓÉ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int
SO_ERROR¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ñµÃÌ×½Ó×Ö´íÎó¡¡¡¡¡¡¡¡¡


Ïà¹ØÎĵµ£º

linux ¿ª»úÎÊÌâ

Ubuntu10.04¾µÏñ»á³öÏÖÎÞ·¨Ê¶±ð¼üÅÌÊäÈë¡£ÔڵǼ»­ÃæÊ±£¬²»ÄÜÊäÈëÃÜÂ룬ÎÞ·¨Õý³£½øÈëϵͳ¡£ ½â¾ö°ì·¨£º £¨1£© ¿ª»§ÆÁÄ»¼üÅ̹¦ÄÜ ÔÚÉÏͼ¿ª»ú½çÃæÔÚÓÒϽǵ¥»÷СÈËͼ°¸£¬ÔÙµ¥»÷“Universal Access Perferences”£¬³ö»÷“Universal Access Perferences”¶Ô»°¿ò£¬ÔÚ¶Ô»°¿òÖÐÑ¡ÖГUse on-screen keybo ......

LinuxÄں˲ÎÊýµ÷ÓÅ

1. ²é¿´socket״̬
server1:~ # netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 257
CLOSE_WAIT 117
FIN_WAIT2 2
ESTABLISHED 228
2. #vi /etc/sysctl.conf
3. Ôö¼Ó
   net.ipv4.tcp_keepalive_time = 120
   net.ipv4.tcp_keepalive_probes = 2
 &n ......

ÅäÖÃVNC·þÎñʵÏÖºìÆìLinuxÔ¶³Ì×ÀÃæ·ÃÎÊ

±êÌ⣺ÅäÖÃVNC·þÎñʵÏÖºìÆìLinuxÔ¶³Ì×ÀÃæ·ÃÎÊ
ÄÚÈݼò½é£º
VNC (Virtual Network Computing)ÊÇÐéÄâÍøÂç¼ÆËã»úµÄËõд£¬ÊÇÒ»¿îÓÅÐãµÄÔ¶³Ì¿ØÖƹ¤¾ßÈí¼þ£¬ÓÉÖøÃûµÄAT&TµÄÅ·ÖÞÑо¿ÊµÑéÊÒ¿ª·¢¡£
ÏÂÃæ½éÉÜÔÚ“ºìÆìLinux DC Server 5.0”ºÍ“ºìÆìLinux ×ÀÃæ°æ 6.0”²Ù×÷ϵͳÖУ¬ÅäÖÃVNC·þÎñ£¬ÊµÏÖ¿Í»§¶ËÒ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ