Пишу утилиту на VC++, надо периодически опрашивать машину, чтобы законнектиться.
Можно написать в потоке ping или сразу connect с таймаутом к этому ПК.
Что лучше выбрать?
Здравствуйте, celsius, Вы писали:
C>Пишу утилиту на VC++, надо периодически опрашивать машину, чтобы законнектиться. C>Можно написать в потоке ping или сразу connect с таймаутом к этому ПК. C>Что лучше выбрать?
Реализация протокола echo сложнее, чем простой коннект...
Если в итоге все равно коннектится после проверки, то сразу делайте connect.
Re: VC++ Что лучше ping или connect с таймаутом при опросе ПК?
Здравствуйте, celsius, Вы писали:
C>Пишу утилиту на VC++, надо периодически опрашивать машину, чтобы законнектиться. C>Можно написать в потоке ping или сразу connect с таймаутом к этому ПК. C>Что лучше выбрать?
Если нужно именно установить соединение, то смысла в предварительном ping нет.
Ведь если машина на пинг ответила, то делать connect надо. А если на пинг не ответила, то всё равно надо. Зачем тогда его вообще делали, если потом всё равно действия требуются одинаковые?
Ведь ответ на пинг не влияет на возможность установления соединения. Ну, например, ведь никто не удивляется ситуациям, когда по TCP можно установить соединение, а по UDP — нет. Или наоборот. Аналогично и наличие ответов ICMP (через который сделан ping) не определяет работоспособность TCP, UDP и прочего (а лишь коррелирует).
Re[2]: VC++ Что лучше ping или connect с таймаутом при опросе ПК?
Здравствуйте, watchmaker, Вы писали:
W>Если нужно именно установить соединение, то смысла в предварительном ping нет. W>Ведь если машина на пинг ответила, то делать connect надо. А если на пинг не ответила, то всё равно надо. Зачем тогда его вообще делали, если потом всё равно действия требуются одинаковые?
Точно, только если пинга нет, то можно не коннектиться, а когда есть, то все равно придется делать connect с таймингом.
Спасибо всем!
Re: VC++ Что лучше ping или connect с таймаутом при опросе ПК?
Здравствуйте, celsius, Вы писали:
C>Пишу утилиту на VC++, надо периодически опрашивать машину, чтобы законнектиться. C>Можно написать в потоке ping или сразу connect с таймаутом к этому ПК. C>Что лучше выбрать?
Машина может не отвечать на ICMP, но при этом прекрасно принимать TCP-соединения. А может быть и наоборот, пингуется, а с коннектами не пускает.