Мне нужно скопировать файлы на удаленный компьютер. Прежде чем я это сделаю, мне нужно проверить, доступен ли ПК. Я попытался использовать ACE_OS::stat()
, чтобы проверить, существует ли каталог. На некоторых платформах у этого есть тайм-аут, которого было бы достаточно для меня, но на других платформах программа застревает.Как пинговать другой компьютер в той же локальной сети с помощью ACE?
ACE предлагает ACE_Ping_Socket, поэтому я предполагаю, что он делает то, что я хочу. Однако я не могу заставить его работать, даже с LOCALHOST. Кто-нибудь знает, как это сделать?
#include "ace/Ping_Socket.h"
#include "ace/INET_Addr.h"
int main(int argc, char * argv[])
{
ACE_INET_Addr addr;
// instead of 127.0.0.1, insert IP of a remote PC
int i_set = addr.set("127.0.0.1:0");
ACE_Ping_Socket s;
int i_open = s.open(addr);
// if open works, PC is reachable, at least this is the idea...
// i_set = 0, but i_open = -1, even for 127.0.0.1
return 0;
}
Я также открыт для альтернативы ACE :-)