2012-04-07 3 views
0

자세한 내용을 보려면 샘플 RPC 프로그램을 만들려고합니다. 그것이 무엇인지 알기 만하면 RPC 프로그램을 사용하기 전에 작동중인 RPC 프로그램이 있다는 것을 인정합니다. 여기에 내 문제를 언급하는 것은 내 코드는 매우 간단하기 전에 :C를 사용하여 RPCGEN 소개 - 클라이언트를 만들 수 없습니다.

/* Remote method on a .c file */ 
#include <stdio.h> 
#include "myrpc.h" 

int * evalmessage_1_svc(char **msg, struct svc_req *req) 

{ 
    static int result = 0; 
    printf("Message is: %s,\n",*msg); 
    return (&result); 
} 

마지막으로, 테스트 파일은 다음과 같다 : 다음과 같이

/* myrpc.x file*/ 
program MESSAGEPROG { 
    version EVALMESSAGEVERS { 
    int EVALMESSAGE(string) = 1; 
    } = 1; 
} = 0x20000002; 

원격 방법은

#include <stdio.h> 
#include "myrpc.h" 

main(int argc, char **argv) 

{ 
    CLIENT * clnt; 
    char * server; 
    char * msg; 

    server = argv[1]; 
    msg = argv[2]; 

    clnt = clnt_create(server, MESSAGEPROG, EVALMESSAGEVERS, "visible"); 
    if (clnt == (CLIENT *)NULL) { printf("Failure\n"); } 

    int * answer; 
    answer = evalmessage_1(&msg,clnt); 

    clnt_destroy(clnt); 
    exit(0); 

}

제 문제는 출력이 "실패"로 표시되어 클라이언트를 만들 수 없다는 의미입니다. 우분투/리눅스를 제 플랫폼으로 사용하고 있으며 C 언어를 프로그래밍 언어로 사용하고 있습니다. 프로젝트를 만들 때 문제가 발생하지 않습니다.

미리 감사드립니다. "UDP"나를 위해 일한 마지막 매개 변수를 변경

clnt = clnt_create(server, MESSAGEPROG, EVALMESSAGEVERS, "visible"); 

: 문제가있는 줄에

답변

0

.

clnt = clnt_create(server, MESSAGEPROG, EVALMESSAGEVERS, "udp"); 
관련 문제