KVRSOFT - Как да определите дали компютърът е свързан към интернет
Напоследък постоянно се появява въпросът „Как да определите дали компютърът е свързан или не?“. Нека спекулираме по темата за някои мрежови взаимодействия.
Мнозина са наблюдавали следната ситуация: мрежова карта работи с MS Windows. Да кажем, че драйверът на картата или компютърът не е конфигуриран правилно, системата физически няма грешки. Едва след като например влезете в средата, съобщението ще се появи
системен изглед (което означава, че софтуерът не може да бъде определен, моментът на прехвърляне на данни е прословутата „връзка без самия трансфер;
Въз основа на въпроса, трябва ли да внеса определен възел или мрежова услуга?“ действителен трансфер на данни?)
Първо, нека разсеем вярванията на тези, които смятат, че отговорът на въпроса може да бъде чрез следните методи.
За да проверим тази функция за нашите цели, достатъчно е да погледнем
„Не можете да разчитате единствено на факта, че InternetGetConnectedState връща TRUE означава, че имате валидна активна интернет връзка. невъзможно за InternetGetConnectedState да определи дали цялата връзка с интернет функционира, без да изпрати заявка до сървър. защо трябва да изпратите заявка, за да определите дали наистина сте свързани или не. бъдете сигурни обаче, че ако InternetGetConnectedState върне TRUE, опитът за вашата връзка НЯМА да доведе до подкана да се свържете с доставчика на интернет услуги по подразбиране."
„Вие разчитате само на факта, че ако InternetGetConnectedState върне TRUE, това означава, че има активна връзка InternetGetConnectedState, за да се определи дали връзката не е обърната
Единствената полезна функция е, че ако е TRUE, когато се опитате да се свържете, ще бъдете подканени да се свържете първи
Функцията GetHostByName разрешава имена на хостове.
Резултатът, върнат от тази функция, казва само, че DNS услугата е конфигурирана правилно. или се намира мрежата на доставчика, или мрежата, към която е свързан нашият компютър (например мрежа на организация). Въпреки че сървърите за имена несъмнено са част от това, което Интернет представлява днес, и ако име на хост е успешно разрешено, то ще ни каже само
Дефиниция на динамика при свързване чрез комутируема връзка.
Определяне на активността на дадена комутируема връзка от доставчика.
Основното нещо е, че dialup не е просто средство за свързване на нашата софтуерна и хардуерна система към софтуерни и хардуерни системи, но не и към други, фактът на откриване на някакъв активен момент на комутируема връзка само казва, че между два географски отдалечени компютъра се установява връзка между комуникационни протоколи на ниско ниво на протоколи за отдалечено взаимодействие (PPP, SLIP други). само един комуникационен канал между два компютъра, който може да се използва за всякакви цели, включително интернет взаимодействие.
От гледна точка на TCP / IP протокола има само два правилни начина за решаване на проблема:
Използвайте ICMP протокол: помощни програми ping, traceroute; (отговаря на възела, но конкретен сервизен възел.). Ключ IcmpSendEcho () (внедрено InternetCheckConnection () (внедрено
Опитайте се да се свържете с нас или вероятно работен момент (търсене на сървъри, възли на големи компании чрез дефиниране на програмна реакция при извикване на функции за свързване (най-надеждният начин да проверите както наличността на възли, така и Key Connect () (имплементиран в WS2_32.DLL)
Пример за използване на ICMP ICMP API (1-ви начин) е описан в статията.
За реализиране на 2-ри път, готовите компоненти на Delphi палетите Internet, FastNet (TClientSocket, TPowerSock), многокомпоненти на пакета Indy. Можете да направите същото с вашия собствен алгоритъм директно Winsock
Като кратко обобщение на всичко по-горе, можем да кажем следното:
Интернет, глобална мрежа, локална мрежа. „Връзка“ от гледна точка, има само потенциал (освен това, възможността за „комуникация“ на компютър (възел) на една мрежа (възел) на друга мрежа съгласно споразуменията, установени за такава възможност от интернет доставчиците на двете страни. Такава възможност е осъществима в момента на интерес (целевият компютър / възел „отговаря“ на ping), може да се твърди с известна степен на вероятност, че „компютърът е свързан