Я пытаюсь установить локальный сеанс telnet в C ++ и отправить команды / получить данные. Прямо сейчас у меня есть:
const char *cmd = "telnet 127.0.0.1 2006";
char buffer[256];
FILE *pipe = popen(cmd, "rw");
//if( !pipe ) { perror("popen"); exit(-1); }
while( fgets(buffer, sizeof(buffer), pipe) != NULL &&
!feof(pipe) )
{
if( ferror(pipe) ) { perror("fgets"); break; }
/* Here you do whatever you want with the data. */
printf("%s", buffer);
}
pclose(pipe);
Который открывает соединение telnet. Мне нужно отправить команду наподобие «/ соседей» и затем получить данные, которые она вернет. В идеале, сеанс должен оставаться открытым, и я буду повторять запрос "/ соседей" каждые 20 секунд или около того.
Я думаю, что мне нужно создать дочерний процесс с помощью fork (), но я очень новичок в этом процессе.