Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi ChatProgg mit Indy Internetkompatibel machen (https://www.delphipraxis.net/37651-chatprogg-mit-indy-internetkompatibel-machen.html)

mr47 8. Jan 2005 14:14


ChatProgg mit Indy Internetkompatibel machen
 
Hi Leute.

Ich habe eine kurze Frage:

Ich habe ein Chatprogg geschrieben, das über LAN auch toll funktioniert. (mit Indy Server und Client)
Mein Frage ist jetzt: was muss ich noch alles machen, dass das Prog auch übers Internet (auch über IP) funktioniert??

Danke für Antworten

mr47

Äfan 8. Jan 2005 15:14

Re: ChatProgg mit Indy Internetkompatibel machen
 
Das tät mich auch mal interessieren !

Ich glaube aber, dass das unmöglich ist... so ein mist :cry: Ich glaube die Welt geht unter wenn ich das nicht herrausfinde...

MFG

PierreB 8. Jan 2005 15:20

Re: ChatProgg mit Indy Internetkompatibel machen
 
Zitat:

Ich habe ein Chatprogg geschrieben, das über LAN auch toll funktioniert. (mit Indy Server und Client) Mein Frage ist jetzt: was muss ich noch alles machen, dass das Prog auch übers Internet (auch über IP) funktioniert??
Hmm.. bei den WinSockets geht es ja beides über LAN und Web. (mit Server + Clientsocket).
Das das bei Indy nicht geht wusste ich noch gar nicht! :gruebel:

mr47 8. Jan 2005 15:21

Re: ChatProgg mit Indy Internetkompatibel machen
 
ich habs voher ausprobiert, da kam immer das er nicht verbinden kann! (bzw. Selbstprogrammierte Verbindungsfehlermeldung)

:?:

hibbert 8. Jan 2005 15:40

Re: ChatProgg mit Indy Internetkompatibel machen
 
Also rein Theoretisch müsste das übers Inet auch funzen, du brauchst halt nur immer die IP - Adresse des gegenübers.

Ich habe schon mal einen Chat für's Internet geschrieben und das hat auf geklappt, allerdings mit den UDP-Kompos von Indy.

Doch das Projekt habe ich wieder eingestellt, das es Probleme mit Usern gab, die einen Router besitzen.

Es ist also möglich.

hibbert

Äfan 8. Jan 2005 15:54

Re: ChatProgg mit Indy Internetkompatibel machen
 
Könntest mal was zum download machen oder so ?

Tubos 8. Jan 2005 16:08

Re: ChatProgg mit Indy Internetkompatibel machen
 
Normalerweise sollte es auch übers Internet funktionieren, sofern nicht einer von den beiden hinter einem Router sitzt.

Chris1986 8. Jan 2005 16:10

Re: ChatProgg mit Indy Internetkompatibel machen
 
Hallo Mr47 und Äfan
Eigentlich ist ein Chat über das Internet kein Problem. Ihr solltet nur folgendes beachten:
1.) Ihr braucht natürlich die WAN-IPs und nicht die LAN-Ips. Die aktuelle WAN-Ip wird z.B. auf http://meineip.de angegeben.
2.) Die Ports die ihr benutzen wollt müssen, falls ihr einen Router besitzt, als forwarded angegeben werden. Jedenfalls, wenn hinter dem Rounter ein Server läuft. Beim Client siehts da besser aus.
3.) Ein Chat mit einem zentralen Server funktioniert besser als ein System, bei dem jeder Client auch einen idTCPServer benötigt. Meistens müssen dann nichtmal Ports freigeschaltet werden.

Wenn es um einen Chat mit zentralen Server geht schaut euch von den Indys mal die idTCPDemo an. Eine Nachricht mit einem TCP-Client zu empfangen ist garnicht so einfach. Früher war es jedenfalls oft so, das Programme die mit Timern ankommende Nachrichten ausgelesen haben abgestürzt sind. Mit der Thread-Variante passiert das nicht. Ausserdem ist eine Lösung mit Threads ohnehin viel eleganter :thumb:

MfG
Christan

Äfan 8. Jan 2005 17:00

Re: ChatProgg mit Indy Internetkompatibel machen
 
So, ich habe jetzt einen gemacht, wenn ich aber verbinden will, kommt ein Socket Error # 10060 :cry: Ich weiß net warum...

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  Client.Host := Edit1.Text;
  Client.Connect;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  try
    memo1.Lines.Add('>>'+edit1.Text);
    Client.WriteLn(edit1.Text);
  except
    memo1.Lines.Add('Verbindung unterbrochen')
  end;
    edit2.Clear;
end;

procedure TForm1.ServerExecute(AThread: TIdPeerThread);
var ms: string;
begin
  ms:=athread.Connection.ReadLn('',5000);
  memo1.Lines.Add(ms);
end;

jkdfighter 9. Jan 2005 11:28

Re: ChatProgg mit Indy Internetkompatibel machen
 
hmm.... wie ist das mit dem Rooter??
Ich habe da einen Chat(XChat: Meine Bezeichnung) mit Hilfe von Indy Kompanenten geschrieben und habe vor es über Internet zu benützen. Bei dem Rooter sind die Port schon freigeschaltet.
So...
WEnn ich verbinden möchte, funkt es net. Da kommt auch so eine Nachricht, wie SocketError oder so.
Hab mit IndyUDP probiert funkt auch net... Wie kann ich es so machen, dass das Programm zu dem Server, der gerade hinter einem Rooter sitzt sich verbindet?
Es muss ja schon gehen, oder? Wenn ich z.B. 2 Rechner hinter einem Rooter habe und eins davon ist ein Server und der Client ist irgend einer aus dem Netz(Internet)..


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 Uhr.
Seite 1 von 5  1 23     Letzte »    

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 by Thomas Breitkreuz