2016-09-23 8 views
0

У меня возникла проблема с запуском простейшей программы RPC. Мне нужна программа, которая отправит строку с клиента на сервер, а сервер отправит строку обратно клиенту. Это echo.x:Ошибка при запуске Simpel RPC Program

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

После стереосистеме и обновите rpcgen -a -C echo.x, я делаю программу, а затем я пытаюсь запустить

./echo_server & 
./echo_client localhost 

и я получаю ошибку:

call failed: RPC: Can't encode arguments. 

Я объявляю правильные типы аргументов в файле .x? Почему я получаю эту ошибку? Если я хочу отправить строку на сервер и вернуть ее обратно, я правильно подошел к проблеме? Я понимаю, как создать RPC, который вернет int, но возвращение строки глубоко меня пугает. Пожалуйста, помогите, если вы там!

ответ

0

Вероятно, не устраивает, возвращающая строку ... попробуйте это:

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

, конечно, если все дело в том, чтобы вернуть строку, то вам нужно сделать какую-то работу - я считаю, вы должны обернуть его в пользовательском типе.

+0

Могу ли я вернуть структуру? – nbk

 Смежные вопросы

  • Нет связанных вопросов^_^