LinuxÏÂRPCµÄhello world
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.±à¼Ô´Îļþ£¬¼ÓÈëÄãÏëÒªµÄ·þÎñµÈ
5.ʹÓÃgcc±àÒëÉú³É¿ÉÖ´ÐÐÎļþ
$gcc -Wall -o test_server test_server.c test_clnt.c test_srv.c
$gcc -Wall -o test_client test_clnt.c test_client.c
6.ʹÓÃrpcgenÉú³ÉMakefile
$rpcgen -Sm test.x>Makefile
7.Ö´ÐвâÊÔ
$./test_server
$./test_client 127.0.0.1
ÎÊÌ⣺
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
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
¼¶±ð£º ³õ¼¶
ФÎÄÅô
(xiaowp@263.net
), ˶ʿÑо¿Éú, ±±¾©Àí¹¤´óѧ¼ÆËã»úϵ
2004 Äê 2 ÔÂ 01 ÈÕ
Á÷
ýÌåÖ¸µÄÊÇÔÚÍøÂçÖÐʹÓÃÁ÷¼¼Êõ´«ÊäµÄÁ¬ÐøÊ±»ùýÌ壬ÆäÌØµãÊÇÔÚ²¥·Åǰ²»ÐèÒªÏÂÔØÕû¸öÎļþ£¬¶øÊDzÉÓñßÏÂÔØ±ß²¥·ÅµÄ·½Ê½£¬ËüÊÇÊÓÆµ»áÒé¡¢IPµç»°µÈÓ¦Óó¡ºÏ
µÄ¼¼Êõ»ù´¡¡£RTPÊǽøÐÐʵʱÁ÷ýÌå´«ÊäµÄ±ê×¼ÐÒéº ......
¡¡¡¡ÄãÏë³ÉÖªµÀÈçºÎ³ÉΪһ¸öLinuxÄں˿ª·¢Õßô£¿»òÕßÄãµÄÀÏ°å¸æËßÄ㣬“ȥΪÕâ¸öÉ豸дһ¸öLinuxÇý¶¯¡£“ÕâÆªÎĵµµÄÄ¿µÄ£¬¾ÍÊÇͨ¹ýÃèÊöÄãÐèÒª¾ÀúµÄ¹ý³ÌºÍÌáʾÄãÈçºÎºÍÉçÇøÒ»Æð¹¤×÷£¬À´½Ì¸øÄãΪ´ïµ½ÕâЩĿµÄËùÐèÒªÖªµÀµÄËùÓÐ֪ʶ¡£±¾ÎÄÒ²³¢ÊÔ½âÊÍÉçÇøÎªÊ²Ã´ÕâÑù¹¤×÷µÄһЩÔÒò¡£
¡¡¡¡Äں˼¸ºõÈ«ÊÇÓÃCд³ÉµÄ£¬ÓÐ ......