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; /*
Ïà¹ØÎĵµ£º
ÕâÆªÈÕÖ¾»¹ÊÇÏÈ´ÓÒ»¸öÄܹ»ÔËÐÐÆðÀ´µÄÀý×Ó³ö·¢£¬Ò»µ©ÄÜ˳ÀûµÄ¿´µ½³ÌÐòµÄ³É¹¦ÔËÐУ¬ÄÇô½ÓÏÂÀ´µÄʼþÎÒÏëÓ¦¸ÃÊÇÎÊΪʲôÁË£¿ËƺõÕâÑù¸ü¼ÓÈÝÒ×Àí½âºÍÕÆÎÕ¡£
¶ÔÓÚsocket³ÌÐòµÄ¸ÅÄîÕâÀï¾Í²»¶àдÁË£¬µ«ÎÒÏàÐÅ£¬Èç¹ûÄÜ¿´ÍêÕâÕûƪÎÄÕ£¬ÎÒÏàÐŲ»»áÔÙÓÐÕâÑùµÄÒÉÎʵġ£
ÏÂÃæ½«±àдһ¸öc/s½á¹¹µÄ³ÌÐò£¬Ö÷Òª¹¦ÄÜÊÇclient½«Ïòserver·¢Ë ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
µ±Ç°£¬Ò»¸öºÜÃ÷ÏÔµÄÊÂʵÊÇ£¬
Linux
×ÀÃæ²¢²»ÆÕ¼°¡£ÔÒòºÎÔÚ£¿
ÔÚ
XP
µÁ°æº£ÑóÖУ¬ÆÕ¼°
Linux
£¬Ì¸ºÎÈÝÒ×£¿Ê®¼¸ÄêÁË£¬Ëµ¾¡
XP
µÁ°æµÄ»µ»°Ò²ÎÞÓ㨲»ÁéÑ飩¡£
Linux
¹ú²ú»¯Ò²Ê§°ÜÁË¡£ÎÊÌ⾿¾¹ ......
Ç¿ÖÆÍ¨¹ý¶ÑÕ»´«µÝ²ÎÊý£¬²»ÒªÓüĴæÆ÷´«µÝ
×Ðϸ¿´Ò»ÏÂÓÐasmlinkageµÄµØ·½Í¨³£ÊÇϵͳµ÷Óõĺ¯Êý£¬ÒòΪÔÚϵͳµ÷ÓÃÖУ¬¼Ä´æÆ÷´ÓÓû§¿Õ¼ä´«¹ýÀ´ºóSAVE_ALLѹÈë¶ÑÕ»£¬½Ó×ŵ÷ÓÃÏàÓ¦µÄϵͳµ÷Óú¯Êý£¬ÕâÑùϵͳµ÷Óú¯ÊýÒ»¶¨Òª±£Ö¤ÊÇͨ¹ý¶ÑÕ»´«µÝ²ÎÊýµÄ
תÌùÒ»¶Î£º
The asmlinkage tag is one other thing that we should observe a ......
1¡¢ÒýÑÔ
ÔÚlinuxϵͳÏ£¬Èç¹ûÄãÏÂÔØ²¢°²×°ÁËÓ¦ÓóÌÐò£¬ºÜÓпÉÄÜÔÚ¼üÈëËüµÄÃû³ÆÊ±³öÏÖ“command not found”µÄÌáʾÄÚÈÝ¡£Èç¹ûÿ´Î¶¼µ½°²×°Ä¿±êÎļþ¼ÐÄÚ£¬ÕÒµ½¿ÉÖ´ÐÐÎļþÀ´½øÐвÙ×÷¾ÍÌ«·±ËöÁË¡£ÕâÉæ¼°µ½»·¾³±äÁ¿PATHµÄÉèÖÃÎÊÌ⣬¶øPATHµÄÉèÖÃÒ²ÊÇÔÚlinux϶¨ÖÆ»·¾³±äÁ¿µÄÒ»¸ö×é³É²¿·Ö¡£±¾ÎÄ» ......