2016-09-23 13 views
0

最も単純なRPCプログラムを実行する際に問題があります。私はクライアントからサーバーに文字列を送信するプログラムを必要とし、サーバーは文字列をクライアントに送り返します。これはecho.xです:rpcgenを-a -C echo.xを走った後simpel RPCプログラムの実行中にエラーが発生する

program ECHO_PROG{ 
    version ECHO_VERS{ 
     string ECHO(string) = 1; 
    } = 1; 
} = 0x22233323; 

、私はプログラムを作成し、私は

./echo_server & 
./echo_client localhost 

を実行しようと、私はエラーを取得:

call failed: RPC: Can't encode arguments. 

.xファイルで正しい引数型を宣言していますか?なぜ私はそのエラーを取得していますか?サーバーに文字列を送ってエコーバックしたいのですが、問題に正しく近づいていますか?私はintを返すRPCを作成する方法を理解していますが、文字列を返すことは私を深く混乱させます。もしあなたがそこにいたら助けてください!

答えて

0

文字列を返すおそらく幸せではない...これを試してみてください。もちろん

program ECHO_PROG{ 
    version ECHO_VERS{ 
     int ECHO(string) = 1; 
    } = 1; 
} = 0x22233323; 

を全体のポイントは、あなたには、いくつかの作業を行う必要があり、文字列を返すことであれば - 私はあなたがそれをラップする必要が信じていますカスタムタイプです。

+0

構造体を返すことはできますか? – nbk

関連する問題