linux·Ç×èÈûsocket½Ì³Ì
±¾ÎIJ¢·Ç½âÊÍʲôÊÇ·Ç×èÈûsocket£¬Ò²²»ÊǽéÉÜsocket APIµÄÓ÷¨£¬ È¡¶ø´úÌæµÄÊÇÈÃÄã¸ÐÊÜʵ¼Ê¹¤×÷ÖеĴúÂë±àд¡£ËäÈ»ºÜ¼òª£¬µ«Äã¿ÉÒÔͨ¹ýmanÊÖ²áÓëÆäËü×ÊÔ´·Ç¸»ÄãµÄ´úÂë¡£Çë×¢Òâ±¾½Ì³ÌËù˵µÄÖ÷Ì⣬Èç¹ûϸ˵£¬ÄÚÈÝ¿ÉÒÔ´ïµ½Ò»±¾ÊéÄÚÈÝ£¬Äã»á·¢ÏÖ±¾½Ì³ÌºÜÓÐÓá£
±¾½Ì³ÌÄÚÈÝÈçÏ£º
1. ¸Ä±äÒ»¸ö×èÈûµÄsocketΪ·Ç×èÈûģʽ¡£
2. selectÄ£ÐÍ
3. FDºê
4. ¶Áдº¯Êý
5. дһ¸ö·Ç×èÈûsocket´úÂëÆ¬
6. Õû¸ö´úÂë
7.ÏÂÒ»²½
Èç¹ûÄãÔÚ´ËÓÐÐí¶àÎÊÌ⣬ÄÇô¹§Ï²Ä㣬ÔÚ³õ¼¶½×¶Î£¬ÈκÎÈ˶¼Ã»Óаþ¶áÄã·¢ÏÖÎÊÌâµÄȨÀû¡£¹ØÓÚÄãËù·¢ÏÖµÄÎÊÌ⣬Çë²»ÒªÓÌÔ¥emailÎÒ¡£
Äã¿ÉÒÔ×ÔÓÉ·¢±í±¾½Ì³Ìµ½ÈκÎWWW»òFTPÍø²¿£¬µ«ÎÞÂÛÈçºÎÒ²Òª±£³ÖԽ̵̳ÄÔÐÍ¡£ÕâÑùÎÒ½«»á·Ç³£¸ÐлÄã¡£
1.¸Ä±äÒ»¸ö×èÈûµÄsocketΪ·Ç×èÈûģʽ
¼òµ¥µÄ¼¸ÐдúÂë¾Í¿ÉÒÔ´´½¨Ò»¸ösocket ²¢Á¬½Ó£¬¿´ÆðÀ´Èç´Ë¼òµ¥¡££¨Äã¿ÉÒÔ×Ô¼º¼ÓÈë´íÎó´¦Àí£©
s = socket(AF_INET, SOCK_STREAM, 0);
memset(&sin, 0, sizeof(struct sockaddr_in));
sin.sin_family = AF_INET;
sin.sin_port = htons(port);
sin.sin_addr.s_addr = inet_addr(hstname);
if(sin.sin_addr.s_addr == INADDR_NONE) {
connect(s, (struct sockaddr *)&sin, sizeof(sin))
ÓкܶàÖÖ·½·¨¿ÉÒÔÉèÖÃsocketΪ·Ç×èÈûģʽ£¬ ÎÒÔÚunixϳ£Óõķ½·¨ÈçÏ£º
int x;
x=fcntl(s,F_GETFL,0);
fcntl(s,F_SETFL,x | O_NONBLOCK);
µ½ÏÖÔÚΪ´Ë£¬ Õâ¸ösocketÒÑΪ·Ç×èÈûģʽÁË£¬ÎÒÃÇ¿ÉÒ԰ѽ¹µã·ÅÔÚÈçºÎÓÃËüÁË¡£ µ«ÊÇÔÚ½Ó×Åд´úÂë֮ǰ£¬ÎÒÃÇÒª¿´¿´ÎÒÃǽ«ÒªÓõ½µÄÃüÁî¡£
2.Ñ¡ÔñÄ£ÐÍ
selectÕâ¸ö·½·¨ÓÃÀ´¼ì²âÒ»¸ösocketÊÇ·ñÓÐÊý¾Ýµ½À´»òÊÇÊÇ·ñÓÐ×¼±¸ºÃµÄÊý¾ÝÒª·¢ËÍ¡£Éù
Ïà¹ØÎĵµ£º
ÄÚºËÄ£¿é¹ÜÀíÊÇѧϰLinuxµÄÒ»¸öÖØÒªµÄ±Ø¾Ö®Â·£¬Èç¹û²»¶ÏµÄʹÓÃÐÂÓ²¼þ¿ÉÄÜÕâ·½Ãæ¸üÏÔµÃÓÈÎªÖØÒª¡£
1. lsmod ÁгöÒѾ¼ÓÔØµÄÄÚºËÄ£¿é
lsmod ÊÇÁгöĿǰϵͳÖÐÒѼÓÔØµÄÄ£¿éµÄÃû³Æ¼°´óСµÈ£»ÁíÍâÎÒÃÇ»¹¿ÉÒԲ鿴 /proc/modules £¬ÎÒÃÇÒ»Ñù¿ÉÒÔÖªµÀϵͳÒѾ¼ÓÔØµÄÄ£¿é¡£
2.modinfo ²é¿´Ä£¿éÐÅÏ¢
modinfo ¿ÉÒԲ鿴ģ¿ ......
http://www.ibm.com/developerworks/cn/linux/l-cppexcep.html
´¦Àí¹ÌÓÐÓïÑÔ¾ÖÏÞÐÔµÄËÄÖÖ¼¼Êõ
´¦Àí C++ ÖеÄÒì³£»áÔÚÓïÑÔ¼¶±ðÉÏÓöµ½ÉÙÐíÒþº¬ÏÞÖÆ£¬µ«ÔÚijЩÇé¿öÏ£¬Äú¿ÉÒÔÈÆ¹ýËüÃÇ¡£Ñ§Ï°¸÷ÖÖÀûÓÃÒì³£µÄ·½·¨£¬Äú¾Í¿ÉÒÔÉú²ú¸ü¿É¿¿µÄÓ¦ÓóÌÐò¡£
±£ÁôÒì³£À´Ô´ÐÅÏ¢
ÔÚ C++ÖУ¬ÎÞÂÛºÎʱÔÚ´¦Àí³ÌÐòÄÚ²¶»ñÒ»¸öÒì³££¬¹ØÓÚ¸ÃÒì³£À ......
¡¾×ª¡¿ http://opensource.csdn.net/docs/article/11495
RedHat Linux ΪÔö¼Óϵͳ°²È«ÐÔÌṩÁË·À»ðǽ±£»¤¡£·À»ðǽ´æÔÚÓÚÄãµÄ¼ÆËã»úºÍÍøÂçÖ®¼ä£¬ÓÃÀ´Åж¨ÍøÂçÖеÄÔ¶³ÌÓû§ÓÐȨ·ÃÎÊÄãµÄ¼ÆËã»úÉϵÄÄÄЩ×ÊÔ´¡£Ò»¸öÕýÈ·ÅäÖõķÀ»ðǽ¿ÉÒÔ¼«´óµØÔö¼ÓÄãµÄϵͳ°²È«ÐÔ¡£
¡¡¡¡ÎªÄãµÄϵͳѡÔñÇ¡µ±µÄ°²È«¼¶±ð¡£
¡¡¡¡“¸ß¼¶&rdquo ......
import sun.misc.Signal;
import sun.misc.SignalHandler;
/***
* javaÐźŴ¦Àídemo
* @author jiang_qh
*
*/
public class SignalHandlerExample implements SignalHandler{
private SignalHandler oldHandler;
public void handle(Signal signal) {
System.out.println("Signal handler called for signal " ......
ǶÈëʽLinux²Ù×÷ϵͳѧϰ¹æ»®
ARM+LINUX·Ïߣ¬Ö÷¹¥Ç¶ÈëʽLinux²Ù×÷ϵͳ¼°ÆäÉÏÓ¦ÓÃÈí¼þ¿ª·¢Ä¿±ê£º
£¨1£© ÕÆÎÕÖ÷Á÷ǶÈëʽ΢´¦ÀíÆ÷µÄ½á¹¹ÓëÔÀí£¨³õ²½¶¨Îªarm9£©
£¨2£© ±ØÐëÕÆÎÕÒ»¸öǶÈëʽ²Ù×÷ϵͳ £¨³õ²½¶¨Îªuclinux»òlinux,°æ±¾´ý¶¨£©
£¨3£© ±ØÐëÊìϤǶÈëʽÈí¼þ¿ª·¢Á÷³Ì²¢ÖÁÉÙ×öÒ ......