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ÖÐÄÚºËÈçºÎµ÷ÓÃÆô¶¯£¬È»ºóÈçºÎ´ÓimgµÄÎļþϵͳÇл»µ½Ó²Å̵Ĺý³Ì¡£
ÃèÊöÆðÓÚ£ºlinux-2.6.11/init/main.cÖк¯Êý static int init(void * unused)
ÃèÊöÖ¹ÓÚ£º/etc/rc.d/rc.sysinitÎļþµÄ±»µ÷ÓÃ
¶þ¡¢ÃèдÁ÷³Ì
ÔÚlinux´úÂëlinux-2.6.11/init/main.cÖÐinitÕâ¸öº¯Êý±»µ÷ÓÃʱ£¬³ ......
ÔÚÇ°ÃæµÄÎÄÕÂÖÐÌá¼°µ½£¬Ò»¸ö½ø³ÌÖеĶà¸öÏß³ÌÊǹ²Ïíͬһ¶Î×ÊÔ´µÄ£¬ÓÉÓÚÏ̶߳Ô×ÊÔ´µÄ¾ºÕùÒý³öÁËËø¡£ÆäÖÐmutexÊÇÒ»ÖÖ¼òµ¥µÄ¼ÓËø·½·¨£¬Õâ¸ö»¥³âËøÖ»ÓÐÁ½ÖÖ״̬£¬ÄǾÍÊÇÉÏËøºÍ½âËø£¬¿ÉÒÔ°Ñ»¥³âËø¿´×÷ÊÇijÖÖÒâÒåÉϵÄÈ«¾Ö±äÁ¿¡£ÔÚijһʱ¿Ì£¬Ö»ÄÜÓÐÒ»¸öÏß³ÌÈ¡µÃÕâ¸ö»¥³âÉϵÄËø£¬ÓµÓÐÉÏËø×´Ì¬µÄÏ߳̿ÉÒÔ¶Ô¹²Ïí×ÊÔ´½øÐвÙ×÷£¬¶ ......
ÍøÂçÐÅÏ¢²é¿´
²é¿´ÍøÂ·½Ó¿ÚÐÅÏ¢
1£®Á˽âlinuxÖеÄÍøÂç½Ó¿ÚÉ豸
$/sbin/ifconfig ²é¿´ËùÓÐ»î¶¯ÍøÂç½Ó¿ÚÐÅÏ¢£¬ÆäÖаüÀ¨Ò»¸ölo»·»Ø¶Ë¿Ú¡£
2£®²é¿´Ö¸¶¨ÍøÂç½Ó¿ÚµÄÐÅÏ¢
$/sbin/ ......
ÔÚÉÏһƪÎÄÕÂÖжÔÏ߳̽øÐÐÁ˼òµ¥µÄ¸ÅÊö£¬ËüÔÚϵͳÖкͱà³ÌµÄÓ¦ÓÃÖУ¬°çÑݵĽÇÉ«ÊDz»ÑÔ¶øÓ÷µÄ¡£Ñ§Ï°Ëü¡¢ÕÆÎÕËü¡¢³Ô͸ËüÊÇ×÷Ϊһ¸ö³ÌÐòÔ±µÄ±ØÐë×÷Ϊ¡£ÔÚ½ÓÏÂÀ´µÄ½²ÊöÖУ¬ËùÓÐÏ̵߳IJÙ×÷¶¼ÊÇÓû§¼¶µÄ²Ù×÷¡£ÔÚLINUXÖУ¬Ò»°ãpthreadÏ߳̿âÊÇÒ»Ì×ͨÓõÄÏ߳̿⣬ÊÇÓÉPOSIXÌá³öµÄ£¬Òò´ËËûµÄÒÆÖ²ÐÔÊǷdz£ºÃµÄ¡£
& ......
ÔÚÉÏһƪÎÄÕÂÖУ¬½éÉÜÁËÏ̵߳Ĵ´½¨ºÍÍ˳ö£¬ÒÔ¼°Ïà¹Øº¯ÊýµÄʹÓá£ÆäÖÐpthread_createº¯ÊýµÄµÚ¶þ¸ö²ÎÊý£¬ÊǹØÓÚÏß³ÌÊôÐÔµÄÉèÖã¬ÕâÒ²ÊǽñÌìËùÓн²ÊöµÄ¡£ÕâЩÊôÐÔÖ÷Òª°üÀ¨°î¶¨ÊôÐÔ¡¢·ÖÀëÊôÐÔ¡¢¶ÑÕ»µØÖ·¡¢¶ÑÕ»´óС¡¢ÓÅÏȼ¶¡£ÆäÖÐϵͳĬÈϵÄÊǷǰ¡¢·Ç·ÖÀ롢ȱʡ1MµÄ¶ÑÕ»¡¢Ó븸½ø³ÌͬÑù¼¶±ðµÄÓÅÏȼ¶¡£ÔÚpthread_createÖÐ ......