У меня открыт сокет, который соединяет клиента и сервер.
Я реализую удаленное выполнение, и поэтому я хочу изменить таблицу дескрипторов файлов таким образом, чтобы вызовы, которые обычно переходили наstdout, на самом деле перейдите через сокет для вывода на клиенте.
Сейчас у меня есть серверная вилка, а затем используйте команду system () для выполнения любой команды.
Что янужно сделать, чтобы управлять таблицей дескрипторов файлов?
Вот код, с которым я работаю:
Я использую select.Я использую сокет, возвращаемый вызовом accept (все это на стороне сервера).
dup2(S,1);
int retval = fork();
if (retval > 1)
{
system(receive.text);
return 0;
}
Теперь результатом этого является то, что на сервер не выводится текст (так что он явно не подключен к stdout сервера), но на клиенте ничего не отображается).
Нужно ли делать что-то еще на стороне клиента, чтобы получить это (например, вызов recv ()?), И я использую правильный сокет?
Спасибо.