Добрый вечер. Пишу клиент-серверное приложение, использующее RPC. Клиент должен передавать серверу .cpp файл, а сервер от имени пользователя-клиента производить его компиляцию и все результаты отсылать клиенту обратно.
С RPC раньше не сталкивался. Изучив кое-какие основы, сделал с помощью rpcgen небольшое приложение, которое отправляет серверу простые сообщения с вариантом аутентификации AUTH_SYS; сервер соответственно получает сообщения и сопутствующую информацию о клиенте (uid, hostname, gid...). Клиент и сервер на виртуальных машинах (ubuntu 12.04).
Для достижения цели мне думается дальше расширять это приложение, но сейчас возникло два вопроса: 1) как в коде сервера запустить компилятор (g++) с другим uid? 2) как корректно обработать результаты труда компилятора? Как оповестить пользователя и об ошибках и о предупреждениях и исполняемые/объектные файлы ему обратно отослать?