linux socket±à³ÌÒ»°ãģʽ
1£ºËùÐèÍ·Îļþ£º<systypes.h>£¨Êý¾ÝÀàÐͶ¨Ò壩 < sys/socket.h>£¨Ìṩsocketº¯ÊýºÍÊý¾Ý½á¹¹£©
<netinet/in.h>£¨¶¨ÒåÊý¾Ý½á¹¹sockaddr_in£© <netdb.h>£¨Ìṩ»ñÈ¡ÓòÃû»òIPµÄº¯Êý£©
<arpa/inet.h>£¨ÌṩIPµØַת»»º¯Êý£© <sys/select.h> (Ìṩselectº¯Êý¼¯Ïà¹ØÊý¾Ý½á¹¹µÄ)
2£º±àд¿Í»§¶Ë³ÌÐò
int sock_fd, recvbytes;
¡¡ char buf[MAXDATASIZE]; //½ÓÊܵÄÊý¾Ý´æ·ÅµÄλÖÃ
¡¡ struct hostent *host;
¡¡ struct sockaddr_in serv_addr
if((host=gethostbyname(argv[1]))==NULL)
{
herror("gethostbyname³ö´í£¡");
exit(1);
}
¡¡ if ((sock_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
perror("socket´´½¨³ö´í£¡");
exit(1);
}
serv_addr.sin_family=AF_INET;
¡¡ serv_addr.sin_port=htons(SERVPORT);
¡¡ serv_addr.sin_addr = *((struct in_addr *)host->h_addr);
¡¡ bzero(&(serv_addr.sin_zero),8);
¡¡ if (connect(sock_fd, (struct sockaddr *)&serv_addr, \
¡¡¡¡ sizeof(struct sockaddr)) == -1) {
perror("connect³ö´í£¡");
exit(1);
}
¡¡ if ((recvbytes=recv(sock_fd, buf, MAXDATASIZE, 0)) ==-1) {
perror("recv³ö´í£¡");
exit(1);
}
¡¡ buf[recvbytes] = '\0';
¡¡ printf("Received: %s",buf);
¡¡ close(sock_fd);
}
int sock_fd,client_fd; /*sock_fd£º¼àÌýsocket£»client_fd£ºÊý¾Ý´«Êäsocket */
¡¡ struct sockaddr_in my_addr; /* ±¾»úµØÖ·ÐÅÏ¢ */
¡¡ struct sockaddr_in remote_addr; /*
Ïà¹ØÎĵµ£º
ÎÄÕÂÀ´Ô´£ºhttp://dev.yesky.com/468/7601968.shtml
2007-10-12 11:01×÷ÕߣºËᦻª³ö´¦£ºÌ켫ÍøÈí¼þƵµÀÔðÈα༣º·½ÖÛ
1.LinuxÎļþϵͳ
¡¡¡¡LinuxÖ§³Ö¶àÖÖÎļþϵͳ£¬Èçext¡¢ext2¡¢minix¡¢iso9660¡¢msdos¡¢fat¡¢vfat¡¢nfsµÈ¡£ÔÚÕâЩ¾ßÌåÎļþϵͳµÄÉϲ㣬LinuxÌṩÁËÐéÄâÎļþϵͳ£¨VFS£©À´Í³Ò»ËüÃǵÄÐÐΪ£¬ÐéÄâÎļþϵͳΪ ......
1. ²é¿´Äں˰汾ÃüÁ
1) [root@q1test01 ~]# cat /proc/version
Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat
3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005
2) [root@q1test01 ~]# uname -a
Linux q1test01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 ......
1.ÅäÖÃÎļþ
/etc/hosts(±¾µØÖ÷»úipµØÖ·Ó³Éä,¿ÉÒÔÓжà¸ö±ðÃû£©¡£
/etc/services(¶Ë¿ÚºÅÓë±ê×¼·þÎñÖ®¼äµÄ¶ÔÓ¦¹Øϵ£©¡£
/etc/sysconfig/network£¨ÉèÖÃÖ÷»úÃû£¬Íø¹Ø£¬ÓòÃû£©¡£
HOSTANME=zjw.com(Ö÷»úÃû£©£¨ÐèÒªÖØÆô¼ÆËã»ú²ÅÓÐЧ£©
GATEWAY=192.168.1.1£¨Íø¹Ø£©
/etc/rc.d/init.d/network restart£¨½Å±¾·þÎñÆô¶¯)
servi ......
½ñÌ콫¸ÃÊémisc-modules²¿·ÖµÄjiq.c´úÂë×öÁËЩÐ޸ģ¬ÒÔ±£Ö¤Õâ·Ý´úÂëÔÚUBUNTU 9.10 £¦ Linux 2.6.31µÄ»·¾³ÏÂÔËÐС£
¼Ç¼һÏÂÖ÷ÒªµÄÐÞ¸ÄλÖãº
1.config.h
ÐÂÄÚºËÖÐʹÓÃÁËautoconf.h´úÌæconfig.h
2.¹¤×÷¶ÓÁÐ
ÔÚеÄÄÚºËÖÐΪÁ˱ÜÃâ·ÇÑӳٵŤ×÷¶ÓÁÐÖÐtimerµÄ³É±¾£¬½«¹¤×÷¶ÓÁÐÖеÄtimer°þÀë³öÀ´¡£Í¬Ê±ÓÖ¹¹ÔìÁËÑÓ³Ù¹¤×÷¶ÓÁÐ ......
1¡¢ÒýÑÔ
ÔÚlinuxϵͳÏ£¬Èç¹ûÄãÏÂÔز¢°²×°ÁËÓ¦ÓóÌÐò£¬ºÜÓпÉÄÜÔÚ¼üÈëËüµÄÃû³Æʱ³öÏÖ“command not found”µÄÌáʾÄÚÈÝ¡£Èç¹ûÿ´Î¶¼µ½°²×°Ä¿±êÎļþ¼ÐÄÚ£¬ÕÒµ½¿ÉÖ´ÐÐÎļþÀ´½øÐвÙ×÷¾ÍÌ«·±ËöÁË¡£ÕâÉæ¼°µ½»·¾³±äÁ¿PATHµÄÉèÖÃÎÊÌ⣬¶øPATHµÄÉèÖÃÒ²ÊÇÔÚlinux϶¨ÖÆ»·¾³±äÁ¿µÄÒ»¸ö×é³É²¿·Ö¡£±¾ÎÄ» ......