Få min IP med Delphi-programmering

Enkelt tekniskt: internet är byggt på TCP / IP-anslutningar. TCP-delen beskriver hur två datorer skapar en anslutning till varandra och överför data. IP-delen behandlar främst hur man får ett meddelande dirigerat över internet. Varje ansluten maskin har en unik IP-adress som gör det möjligt för andra att räkna ut en väg till vilken dator som helst på hela webben (eller exakt världen).

För att få IP-adressen till den dator du använder när du är ansluten till internet måste vi ringa några av API-funktionerna * definierade * i Winsock-enheten.

Vi skapar en GetIPFromHost -funktion som anropar flera Winsock API-funktioner för att få IP. Innan vi ens kan använda WinSock-funktioner måste vi ha en giltig session. Den här sessionen skapas med WinSock WSAStartup-funktionen. I slutet av vår funktion görs ett samtal till SAC leanup för att avsluta användningen av Windows Sockets API: er. För att få datorns IP-adress måste vi använda GetHostByName tillsammans med GetHostName. Varje dator kallas en värd och vi kan få värdnamnet med ett specialfunktionssamtal: GetHostName. Vi använder sedan GetHostByName för att få IP-adressen, relaterad till detta värdnamn.

instagram viewer

Start Delphi och placera en Knapp och två Redigera rutor på ett nyskapat formulär. Lägg till GetIPFromHost funktion till implementeringsdelen av din enhet och tilldela följande kod till händelseshanteraren OnClick med en knapp (nedan):