LinuxÏÂʵÏÖRPC±à³Ì
Linux ÏÂÃæÊ¹ÓÃRPCÐèҪʹÓõ½ÃüÁîrpcgen.
ÔÚLinuxÏ¿ª·¢RPC³ÌÐòÁ÷³ÌÈçÏ£º
1.дһ¸örpc³ÌÐò
Èçtest.x
2.ʹÓÃrpcgenÉú³É±ØÐëµÄÎļþ£¬Í¨³£Êǿͻ§¶ËºÍ·þÎñÆ÷¶ËÒÔ¼°Í·Îļþ
$rpcgen test.x
3.ʹÓÃrpcgenÉú³É·þÎñÆ÷¶ËºÍ¿Í»§¶ËµÄCÓïÑÔ´úÂë
$rpcgen -Ss -o test_server.c test.x
$rpcgen -Sc -o test_client.c test.x
4.Éú³ÉMakefile
$rpcgen -Sm test.x>Makefile
5.±à¼Ô´Îļþ£¬¼ÓÈëÄãÏëÒªµÄ·þÎñµÈ
6.±à¼Makefile,ÕâºÜÖØÒª£¡
7.Ö´ÐвâÊÔ
ÎÊÌ⣺
1.·þÎñÆ÷ÎÞ·¨Æô¶¯£¬´íÎóÈçÏ£º
Cannot register service: RPC: Unable to receive; errno = Connection refused
unable to register (TESTPROG, VERSION, udp).
½â¾ö·½·¨£ºÏµÍ³Ã»Óа²×°portmap»òÕßûÓÐÆô¶¯portmap¶Ë¿ÚÓ³Éä¡£
$ls /etc/init.d/
Èç¹ûûÓÐportmapÔò°²×°Ö®
$sudo apt-get install portmap
Èç¹ûÓÐÁË£¬ÔòÆô¶¯
$sudo /etc/init.d/portmap start
»¹¿ÉÒÔʹÓÃchkconfigÉèÖÃϵͳ¿ª»úÆô¶¯µÄ·þÎñÏÈ罫portmap¼ÓÈ뿪»úÆô¶¯£º
$sudo chkconfig --level 2 -s portmap on
ÏÂÃæÊÇ¿ª·¢Ò»¸örpc³ÌÐòµÄ¾ßÌåÁ÷³Ì£¬Ïê¼û
http://zhoulifa.bokee.com/6128714.html
ÎÒÔÚ±à³ÌÖÐÓöµ½ÒÔϼ¸¸öÎÊÌ⣺
1.MySQLÊý¾Ý¿â´íÎó
1£©±¨¸æÁ¬½Ó²»ÉÏMySQL£¬´úÂëÈçÏÂ
if(mysql_real_connect(conn,"127.0.0.1","root","password",
"database",0,NULL,0)){
fprintf(stderr,"%s\n%s\n",mysql_error(conn),
"Êý¾Ý¿âÁ¬½Óʧ°Ü");
exit(1);
}
ÔÒòÈçÏ£ºÅжÏÓï¾ä´íÎó£¬Ó¦¸ÃΪif(mysql_real_connect(conn,...)==NULL){
...
}
2.¸üÐÂÊý¾Ýʧ°Ü
char *sql="update test_table set balance=1000 where id=1000";
result=mysql_query(conn,sql);
if(result==NULL){
.....
/*´íÎó*/
}
ÔÒòÈçÏ£º»¹ÊÇÅжÏÓï¾ä´íÎó£¬ÓÉÓÚ¸üвÙ×÷²»Ïò²éѯ
Ïà¹ØÎĵµ£º
linux ¹ÒÔØÃüÁî : Mount
http://www.zhiweinet.com/jiaocheng/2009-02/2602.htm
mount¹ÒÔØÃüÁîʹÓ÷½·¨:
mount -t ÀàÐÍ -o ¹Ò½Ó·½Ê½ Ô´ Ä¿±ê
-t ÏêϸѡÏî
¡¡¡¡¹âÅÌ»ò¹âÅ̾µÏñ£ºiso9660
DOS fat16Îļþϵͳ£ºmsdos
¡¡¡¡Windows 9x fat32Îļþϵͳ£ºvfat
¡¡¡¡Windows NT ntfsÎļþϵͳ£ºn ......
LinuxÌṩÁËÄÚ´æÓ³É亯Êýmmap, Ëü°ÑÎļþÄÚÈÝÓ³Éäµ½Ò»¶ÎÄÚ´æÉÏ(׼ȷ˵ÊÇÐéÄâÄÚ´æÉÏ), ͨ¹ý¶ÔÕâ¶ÎÄÚ´æµÄ¶ÁÈ¡ºÍÐÞ¸Ä, ʵÏÖ¶ÔÎļþµÄ¶ÁÈ¡ºÍÐÞ¸Ä, ÏÈÀ´¿´Ò»ÏÂmmapµÄº¯ÊýÉùÃ÷: Í·Îļþ: ÔÐÍ: void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offsize); ·µ» ......
Ò»°ãÇé¿öÏ£¬½ø³Ì²»ÄÜ´æÈ¡ÏµÍ³Äں˵ģ¬Ö»ÓÐϵͳµ÷ÓÃÊÇÒ»¸öÀýÍ⣬ÔÚintel½á¹¹µÄ¼ÆËã»úÖУ¬ÊÇͨ¹ýÖжÏ0x80ʵÏÖµÄ
½ø³Ì¿ÉÒÔ¿ÉÒÔÌø×ªµ½ÄÚºËÖеÄλÖÃÊÇsystem_call¡£Ôڴ˼ì²éϵͳµ÷Óúţ¬Ëü¸æËßÄں˽ø³ÌÇëÇóºÎÖÖ·þÎñ£¬È»ºó²éÕÒϵͳµ÷Óñísys_call_table£¬ÕÒµ½Ï£Íûµ÷ÓõÄÄں˵ØÖ·º¯Êý£¬µ÷Óô˺¯Êý£¬È»ºó·µ»Ø¡£
&nbs ......
ÔÚÉÏһƪÎÄÕÂÖУ¬½éÉÜÁËÏ̵߳Ĵ´½¨ºÍÍ˳ö£¬ÒÔ¼°Ïà¹Øº¯ÊýµÄʹÓá£ÆäÖÐpthread_createº¯ÊýµÄµÚ¶þ¸ö²ÎÊý£¬ÊǹØÓÚÏß³ÌÊôÐÔµÄÉèÖã¬ÕâÒ²ÊǽñÌìËùÓн²ÊöµÄ¡£ÕâЩÊôÐÔÖ÷Òª°üÀ¨°î¶¨ÊôÐÔ¡¢·ÖÀëÊôÐÔ¡¢¶ÑÕ»µØÖ·¡¢¶ÑÕ»´óС¡¢ÓÅÏȼ¶¡£ÆäÖÐϵͳĬÈϵÄÊǷǰ¡¢·Ç·ÖÀ롢ȱʡ1MµÄ¶ÑÕ»¡¢Ó븸½ø³ÌͬÑù¼¶±ðµÄÓÅÏȼ¶¡£ÔÚpthread_createÖÐ ......