![]() |
IP Adresse von einem Rechner im INet finden
Hallöchen!
Mein Kumpel und ich, wir wollen chatten, über mein mit Indy8 bestücktes Prog. Da wäre Prob 1: Wie bekomme ich seine IP-Adresse und er meine? Müssen wir uns da vorher anrufen oder geht das über ne elegantere Lösung? Und meine 2 Frage, muss ich irgendwas beim Internet beachten, hab sonst immer nur für's Netzwerk gemacht! Danke! |
Re: IP Adresse von einem Rechner im INet finden
Hallo,
sofern Ihr Webspace habt, könntet Ihr euere ip dort in einer Textdatei ablegen oder per Mail dem anderen zukommen lassen. Es ist allgemein ausreichend, eine Mail ohne weiteren Text zu schicken, da die ip des Absenders zur Zeit des Absendens dem Header entnehmbar ist. Ich empfehle einfach mal den Commandozeilen-Mailer Blat, mit dem sich leicht eine Ein-Klicklösung realisieren lässt, türlich geht das auch mit Delphi... Gruß Pascal |
Re: IP Adresse von einem Rechner im INet finden
Uhhhh, klinkt schwierig! Ich würde mich fasst für die Webspacevariante entscheiden, aber da wir wahrscheinlich eh selten chatten werden, werden wirs wohl manuell per Mails machen.
Wer weitere Vorschläge hat, immer her damit! |
Re: IP Adresse von einem Rechner im INet finden
Zitat:
![]() Dort kannst du dir eine kostenlosen DNS holen. Über ein Programm das auf deinem Rechner im Hintergrund läuft schickst du deine aktuelle IP an DynDNS, diese leiten deinen Kumpel dann auf deine eigene IP weiter sobald er den DNS auflösen will. PS: ist übrigend auch ne klasse Sache wenn man Zuhause eine FTP oder dergleichen am Netz hängen hat... |
Re: IP Adresse von einem Rechner im INet finden
Mhhhh sound interesting... Ich schaus mir morgen mal an und frage meinen Kumpel mal, was er davon hält!
|
Re: IP Adresse von einem Rechner im INet finden
oder die webspace sache in kombinierung eines php scripts, welche eure Ips automatisch in eine txt in einem dir speichert und das vorher mit ht accs belegen.
|
Re: IP Adresse von einem Rechner im INet finden
Zum Thema E-Mail:
Einfach ein IdSMTP benutzen:
Delphi-Quellcode:
Ratte
idSmtp1.Username:='username auf dem server';
idsmtp1.Password:='Serverpasswort' idSmtp1.QuickSend('Host','subject (z.B. IP?)','Empfänger','absender','bodytext'); |
Re: IP Adresse von einem Rechner im INet finden
War heut 'n ganz schön stressiger Tag, ich hab vergessen ihn zu fragen... :wall: Hoffentlich denk ich morgen dran! :angle2:
Aber mit igrndwelchen Scripts kenn ich mich leider nicht aus! Eben nur Delphi :mrgreen: |
Re: IP Adresse von einem Rechner im INet finden
Ich hab mir das jetzt so gedacht: Ich baue einen SMTP Server mit ein, oder wie die Compo heißt. Von der verschicke ich dann eine Mail an meinen Kumpel, und der kriegt (weil mit AOL) das schon irgendwie mit. Und dann muss er halt meine IP reinschreiben und sich bei mir melden, das Prog wird dann aus dieser ersten Erkennungsbotschaft autom. seine IP ziehen.
Ich schau mal in der Indy.hlp nach, wegen dem SMTP, wenn ich dazu Fragen habe, melde ich mich nochmal. Woher weiß eigentlich das Prog, dass es dann die Msgs ans INet senden soll und nicht an einen Rechner in meinem Netzwerk? Was ist dann mit einer IP, die im INet ist und in meinem Netzwerk? |
Re: IP Adresse von einem Rechner im INet finden
Zitat:
|
Re: IP Adresse von einem Rechner im INet finden
Aha! :idea: Nagut, dann steht dem Prog ja jetzt nichts mehr im Wege!
Danke! |
Re: IP Adresse von einem Rechner im INet finden
Doch noch ne Frage: Muss ich meinem Kumpel jetzt die IP meines Routers schicken, oder die meines Rechners, auf dem das Prog gerade läuft?
|
Re: IP Adresse von einem Rechner im INet finden
Zitat:
|
Re: IP Adresse von einem Rechner im INet finden
All right!
|
Re: IP Adresse von einem Rechner im INet finden
Ich hab das Prog soweit fertig, dass es die Grundfunktionen erfüllt! Hier ist sind die Stücken aus dem Quellcode, die zur Übertragung von Daten wichtig sind:
Delphi-Quellcode:
Das Nachrichten senden funtzt einwandfrei! Aber das Dateiensenden funtzt nicht, manchmal gehts, manchmal nicht.(Habs im LAN probiert) Wenn ich mal keine Textdatei, sondern eine wavdatei verschicke, ist sie Nachher ein bisschen kleiner und man hört nurnoch die Hälfte! Irgendwas scheint falsch zu sein! Ich weiß nicht was da ist!
procedure TMain.SendBtnClick(Sender: TObject);
begin try TCPClient.Connect(5); TCPClient.WriteLn(BN+': '+MsgEdit.Text); WriteMsg(BN+': '+MsgEdit.Text);//BN = Benutzername MsgEdit.Clear; finally TCPClient.Disconnect; end; end; procedure TMain.TCPServerExecute(AThread: TIdPeerThread); var FS: TFileStream; SizeOfIncomingStream: integer; S, Fromuser, NameofFile, SizeofStream: String; begin SDia.FilterIndex := 1; SDia.DefaultExt := ''; with AThread.Connection do begin try S := Readln('', 5); if not (Pos('#@#START', S) = 1) then begin WriteMsg(S);//WriteMsg -> zum formatierten Hinzufügen in die Richeditkomponente end; if (Pos('#@#START', S) = 1) then begin WriteLog('Empfange Datei!');(*WriteLog-> zum formatierten Hinzufügen von Logbuchnachrichten (auch in die selbe Richedit)*) FromUser := CopyFT(S, Pos('|', S)+1, Length(S)); Write('Sender: '+Fromuser); NameofFile := Readln('', 5); WriteLog('Dateiname: '+NameofFile); SizeofStream := Readln('', 5); WriteLog('Größe: '+SizeofStream); if MessageBox(Application.Handle, PChar(FromUser+' schickt ihnen die Datei "'+NameofFile+'", die '+SizeofStream+' groß ist.'+#13#10+#13#10+'Wollen sie sie annehmen?'), 'Frage', MB_YESNO) = IDYes then begin SDia.FileName := ExtractFileName(NameofFile);//SDia und ODia -> Save/OpenDialog if SDia.Execute then begin try Fs := TFileStream.Create(SDia.Filename, fmCreate or fmShareExclusive); SizeOfIncomingStream := ReadInteger; WriteLog('Datei wird runtergeladen...'); ReadStream(fs, SizeOfIncomingStream); WriteLog('Transfer erfolgreich abgeschlossen!'); WriteLog('Datei wurde unter "'+SDia.FileName+'" gespeichert!'); finally Fs.Free; end; end; end; end; finally Disconnect; end; end; end; procedure TMain.SendFileBtnClick(Sender: TObject); var FS: TFileStream; begin if not ODia.Execute then Exit; with TCPClient do begin FS := TFileStream.Create(ODia.FileName, fmOpenRead or fmShareDenyWrite); if MessageDlg('Folgende Datei möchten sie verschicken:'+#13#10#13#10+ 'Dateiname: "'+ODia.FileName+'"'+#13#10+ 'Größe: '+MakeSize(FS.Size)+#13#10#13#10+ 'Möchten sie sie an "'+TCPClient.Host+'" senden?', mtConfirmation, [mbYes, mbNo], 0) = mrNo then Exit; Connect; try OpenWriteBuffer; try WriteLog('Übertrage Dateiinfos...'); WriteLn('#@#START|'+BN); Writeln(ODia.FileName); Writeln(MakeSize(FS.Size)); WriteLog('Dateitransfer beginnt...'); WriteStream(fs, true, true, 0); CloseWriteBuffer; WriteLog('Dateitransfer beendet'); except CancelWriteBuffer; raise; end; finally Disconnect; FS.Free; end; end; end; function TMain.MakeSize(ASize: Integer): String;//Zum Anzeigen der Größe in einer geeigneten Einheit var I: integer; Size2: Real; Einheit: String; begin Einheit := 'Bytes'; Size2 := ASize; if Size2 > 1024 then begin Size2 := Runde(ASize/1024, 2); Einheit := 'KB'; end; if Size2 > 1024 then begin Size2 := Runde(Size2/1024, 2); Einheit := 'MB'; end; if Size2 > 1024 then begin Size2 := Runde(Size2/1024, 2); Einheit := 'GB'; end; Result := FloatToStr(Size2)+' '+Einheit; end; Manchmal wird zwar irgendwas versendet (beim Dateiversenden), aber es kommt weder eine Botschaft an, noch die Datei! |
Re: IP Adresse von einem Rechner im INet finden
@PhaTTy: Arbeite gerade mit was ähnlichen, was müsste ich dort jetzt wählen, dynamisch oder statisch? Und wie geht's dann weiter?
Mein Kumpel sollte seine IP hinschicken können, bei ihm ist nichts zu beachten. Und ich muss meine hinschicken, allerdings ist bei mir noch n Router im Netzwerk, dahinter zwei Rechner, die ich gern beide mit einspannen würde. Also brauche ich doch sicher 3 dynamische/statische ...? Danke schonmal! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz