İp öğrenme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Misafir

İp öğrenme

Mesaj gönderen Misafir »

Arkadaşlar ben kendi ipmi delphide nasıl öğrenirim mesela bi buton koycam bide Edit1 koyucam butona tıklayınca ipmi götericek edit1de
ben yaptım ama ağ bağlantılarında 10.0.0.13 gibi gösteriyor ama http://www.whatismyip.com girince Your IP is 81.215.211.199 diye gösteriyor bunun gibi yapmazmıyız butona tıklayınca edittte dunun gibi ip gözükükecek yardım ederseniz sevirim delphi 7 kullanıyorum :)
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

ilk önce
Google dan "ip address" + delphi olarak aratırsan bu gibi soruların cevabını çok daha kolay bulabileceğini belirtmek isterim.

Uses kısmına Winsock 'u eklemeyi unutma.

Kod: Tümünü seç

function getIPs: Tstrings;
type
  TaPInAddr = array[0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  phe: PHostEnt;
  pptr: PaPInAddr;
  Buffer: array[0..63] of Char;
  I: Integer;
  GInitData: TWSAData;
begin
  WSAStartup($101, GInitData);
  Result := TstringList.Create;
  Result.Clear;
  GetHostName(Buffer, SizeOf(Buffer));
  phe := GetHostByName(buffer);
  if phe = nil then Exit;
  pPtr := PaPInAddr(phe^.h_addr_list);
  I    := 0;
  while pPtr^[I] <> nil do
  begin
    Result.Add(inet_ntoa(pptr^[I]^));
    Inc(I);
  end;
  WSACleanup;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
      Memo1.Lines := GetIps;
end;

Kullanıcı avatarı
warder
Üye
Mesajlar: 255
Kayıt: 10 Mar 2004 04:59

Mesaj gönderen warder »

sadettinpolat yazdı:ilk önce
Google dan "ip address" + delphi olarak aratırsan bu gibi soruların cevabını çok daha kolay bulabileceğini belirtmek isterim.
Forumlarda problem sahiplerini google gibi arama motorlarına yönlendirmeye karşı olunmalı diye düşünüyorum. Tabii google da nasıl arama yapacağını sormamışsa.
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@sadettinpolat Selam...

- Deneme fırsatım şu an yok, sorayım dedim...

- Network altında olan bir bilgisayarda, server'in Internete çıktığı IP adresini de veriyor mu ? 8)

bkz.
viewtopic.php?t=2281&highlight=#11196
Resim
Resim ....Resim
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Evet bu soruyu Fahrettin bey sormuştu. Ben de saf saf ping at demiştim :oops: .
O zaman cevbı da verilmişti yanlış hatırlamıyorsam.
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

Re: İp öğrenme

Mesaj gönderen salvation »

zemin yazdı:ben yaptım ama ağ bağlantılarında 10.0.0.13 gibi gösteriyor ama http://www.whatismyip.com girince Your IP is 81.215.211.199 diye gösteriyor
10... lu IP ler senin ağda kullandığın IP dir, 81.215.. ise ağdan çıktıktan sonra o ağdaki bilgisayarların kullandığı ortak bir Ip dir. Doğal olarak whatsmyip de sorguladığın zaman 81.. şeklinde çıkıyo...
En son salvation tarafından 14 Nis 2004 12:59 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Evet salvation isimli arkadasimizin da soyledigi gibi. Delphi ile ya da kendi makinanizda bir program calistirarak alabileceginiz ip'ler sizin makina uzerinde tanimli olanlarla sınırlıdır.... Ne zamanki aginiz uzerindeki muhtemelen ADSL modem uzerinden ki ayni zamanda bir router'dir, internete çıktığınız zaman. Public network olan internet uzerinde ADSL modeminizin ip'si ile tanınırsınız.... Yani o public ip sizin makina uzerine tanımlı olmadigi icin onu kendi makinanizdan yakalayamazsiniz....

Ama bunu ogrenmek imkansızdır da demiyorum. yapacaginiz bir delphi programi bahsettiginiz internet sitesini acip oradaki ip degerini alabilir mesela..... Ya da o ADSL modem uzerinden bunu sorgulamak bir sekilde mumkunse ki bunu su an bilmiyorum ama eger mumkunse delphi ile de sorgulanabilir tabi...
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

Google gibi bir nimet varken bence kullanımlasını teşvik etmeliyiz. tabi bu benim düşüncem.

Network altında olan bir bilgisayarda, server'in Internete çıktığı IP adresini de veriyor mu ?

bilmiyorum.

eğer adsl modem gibi cihazlarla internete bağlanılmışsa telnet ile modeme bağlanılıp modemin ip adresi öğrenilebilir. en azından windowsun kendi telneti ile bunu öğrenebiliyoruz :)
Kullanıcı avatarı
aveysel
Üye
Mesajlar: 151
Kayıt: 16 Mar 2004 03:53
Konum: Internet
İletişim:

Mesaj gönderen aveysel »

Arkadaşlar internete çıktığınız ip numarısını aşağıda verdiğim koddan bulabilirsiniz....

---

Kod: Tümünü seç

/Dial Up Baglanti IP sini kontrol eden FoNKsiYoNCukUM, WinSock kullaniyor..
function getIPs: Tstrings;
type
  TaPInAddr = array[0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  phe: PHostEnt;
  pptr: PaPInAddr;
  Buffer: array[0..63] of Char;
  I: Integer;
  GInitData: TWSAData;
begin
  WSAStartup($101, GInitData);
  Result := TstringList.Create;
  Result.Clear;
  GetHostName(Buffer, SizeOf(Buffer));
  phe := GetHostByName(buffer);
  if phe = nil then Exit;
  pPtr := PaPInAddr(phe^.h_addr_list);
  I    := 0;
  while pPtr^[I] <> nil do
  begin
    Result.Add(inet_ntoa(pptr^[I]^));
    Inc(I);
  end;
  WSACleanup;
 
end;
Select * From LiFe Where Your EYES
http://Www.Gebze.Org
Misafir

Mesaj gönderen Misafir »

ee bu fonkisyonunasıl kullancaz ??
Kullanıcı avatarı
akgun83
Üye
Mesajlar: 106
Kayıt: 26 Eyl 2003 11:34

Mesaj gönderen akgun83 »

fonksiyonu copy paste yapıp forma bi buton bi memo koy.
button click olayına

Memo1.Lines:=getIPs();


yalnız bende local ipyi veriyo.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

evet lokal ip'leri veriyor. Zaten açıklamada sadece dial-up kullananlar için demiş. Ayrıca hem dial-up, hem de lokal ip'si olanlarda nasıl davranır bilmiyorum.

Kolay gelsin.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

makalelerde ardahaın ve diğer arkadaşların verdiği örnekler var. oradan yola çıkılabilir.

viewtopic.php?t=2281&start=0&postdays=0 ... highlight=
Misafir

Mesaj gönderen Misafir »

bu gerçek ipyi gösterimiyor sallıyor resmen
Kullanıcı avatarı
sherlockholmes
Kıdemli Üye
Mesajlar: 930
Kayıt: 19 Tem 2004 09:13

Mesaj gönderen sherlockholmes »

bu kodu delphi 7' de çalıştıramadım ,
Build
[Error] Unit1.pas(28): Undeclared identifier: 'PInAddr'
[Error] Unit1.pas(31): Undeclared identifier: 'PHostEnt'
[Error] Unit1.pas(35): Undeclared identifier: 'TWSAData'
[Error] Unit1.pas(37): Undeclared identifier: 'WSAStartup'
[Error] Unit1.pas(40): Undeclared identifier: 'GetHostName'
[Error] Unit1.pas(41): Undeclared identifier: 'GetHostByName'
[Error] Unit1.pas(42): Operator not applicable to this operand type
[Error] Unit1.pas(43): Pointer type required
[Error] Unit1.pas(43): 'END' expected but ')' found
[Error] Unit1.pas(45): ';' expected but 'WHILE' found
[Error] Unit1.pas(47): Undeclared identifier: 'Result'
[Error] Unit1.pas(47): Undeclared identifier: 'inet_ntoa'
[Error] Unit1.pas(47): Pointer type required
[Error] Unit1.pas(49): '.' expected but ';' found
[Warning] Unit1.pas(52): Text after final 'END.' - ignored by compiler
[Error] Unit1.pas(13): Unsatisfied forward or external declaration: 'TForm1.Button1Click'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'


hatasını verdi...
Cevapla