![]() |
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 |
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 |
Re: ChatProgg mit Indy Internetkompatibel machen
Zitat:
Das das bei Indy nicht geht wusste ich noch gar nicht! :gruebel: |
Re: ChatProgg mit Indy Internetkompatibel machen
ich habs voher ausprobiert, da kam immer das er nicht verbinden kann! (bzw. Selbstprogrammierte Verbindungsfehlermeldung)
:?: |
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 |
Re: ChatProgg mit Indy Internetkompatibel machen
Könntest mal was zum download machen oder so ?
|
Re: ChatProgg mit Indy Internetkompatibel machen
Normalerweise sollte es auch übers Internet funktionieren, sofern nicht einer von den beiden hinter einem Router sitzt.
|
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 ![]() 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 |
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; |
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).. |
Re: ChatProgg mit Indy Internetkompatibel machen
dann probiers mal mit DMZ im Router
|
Re: ChatProgg mit Indy Internetkompatibel machen
Zitat:
Wie meinst? |
Re: ChatProgg mit Indy Internetkompatibel machen
![]() Du kannst im Router DMZ einstellen. Somit wird dein PC an der Router-Firewall vorbeigeschleust. Informationen aus dem WAN werden ungeprüft an deinen PC weitergeleitet. Damit sollte ein Server hinter einem Rounter problemlos funktionieren. MfG Christian |
Re: ChatProgg mit Indy Internetkompatibel machen
es mit prinzipiell keinen unterschied ob Lokales Netzwerk oder Internet. An den Indys liegt es auf keinen Fall. Wohlmöglich ist bei euch einfach der Router schuld (wie ja schon gepostet) oder es ist auf den Rechnern eine Firewall aktiviert (z.B.: die Windowseigene). Diese kann auch so eingestellt sein das sie nur bei der externen zu macht und lokale Verbindungen zulässt. Also einfach nach firewalleinstellungen etc. suchen ob da was aktiviert ist.
|
Re: ChatProgg mit Indy Internetkompatibel machen
ne ich meine, 2 PC´s eienr davon Server. Woher soll den das Programm wiessen welcher Rechner der Server ist?
|
Re: ChatProgg mit Indy Internetkompatibel machen
Ich weis jetzt leider immer noch nicht warum es bei mir nicht geht.
Ich glaube ich hab mal irgendwo gelesen, das man zum Übers Internet Chatten noch so ne NonVisual-Kompo auf die Form ziehen muss, die nur die einmalige IP des Computers festlegt oder so. (Ich bin mir aber nicht mehr sicher). :wall: |
Re: ChatProgg mit Indy Internetkompatibel machen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Ich habe gerade die Indy-Demo umgeschrieben, sodass man zu einer beliebigen IP connecten kann. Die Client.exe ist im Anhang und ich werde jetzt bei mir bis heute abend den Server laufen lassen. Ihr könnt ja mal probieren zu connecten. Den Port habe ich fest auf 47110 gelassen. Meine aktuelle WAN-IP: 80.133.73.111 MfG Christian |
Re: ChatProgg mit Indy Internetkompatibel machen
wie hast du das hinbekommen?
zeig mal die Quellcodes |
Re: ChatProgg mit Indy Internetkompatibel machen
Liste der Anhänge anzeigen (Anzahl: 1)
Hi
Das ist ganz einfach. Du hast bist ja der Chat-Client und benutzt auch nur den idTCP-Client. Wenn man einen Chat schreibt ist ein zentraler Server meistens hilfreich, weil dann die Chat-Clients ohne idTCPServer auskommen und wie du siehst hat man dann auch keine Probleme mit einem Router. Ich hab auch nen Router aber bei mir ist DMZ eingerichtet. Deswegen funktioniert sogar der Server hinter dem Router. Die leicht geänderte Indy Demo gibts im Anhang. |
Re: ChatProgg mit Indy Internetkompatibel machen
ok bei mir funkt auch alles.. danke dir
|
Re: ChatProgg mit Indy Internetkompatibel machen
Entweder du hast den Server schon wieder aus (letzter Versuch um 16:39 Uhr) oder es funktioniert bei mir einfach nicht :cry:
Es kommt immer Zitat:
|
Re: ChatProgg mit Indy Internetkompatibel machen
Hallo!!
@Chris1986 was muss man machen damit man kein einstellungen in einem router vornehmen muss?? mfg Luke |
Re: ChatProgg mit Indy Internetkompatibel machen
Konnte es leider noch nicht probieren. Aber nehmen wir an es geht. Ich habe z.B. nen Server: Wie mache ich das jetzt, dass sich mehrere leute einloggen können und zusammen chaten können ? Geht das auch ohne das Server programm, also das alle user nur den clienten nutzen müssen ?
MFG |
Re: ChatProgg mit Indy Internetkompatibel machen
Zitat:
Aber dann mach ich den jetzt wieder an und lass ihn bis um 22:00laufen @Luke23: Wie schon gesagt, wenn möglich im Chat-Client nur den idTCPClient benutzen. @Äfan: Einen Server brauchst du natürlich, aber es reicht eben einer. Es können ja mehrere idTCPClients auf einen idTCPServer connecten. Sieh dir am besten das Indy-Beispiel an, das ich hochgeladen hab. //Edit: Meine WAN-IP ist immer noch 80.133.73.111 MfG Christian |
Re: ChatProgg mit Indy Internetkompatibel machen
Ahhhh! @ Chris1986 jetzt funktionierts!! :)
// edit: Danke natürlich!!! :wall: :mrgreen: |
Re: ChatProgg mit Indy Internetkompatibel machen
siehste :zwinker:
Übrigens sehr sinniger Text :lol: Zitat:
Christian |
Re: ChatProgg mit Indy Internetkompatibel machen
:mrgreen: :mrgreen: :mrgreen:
|
Re: ChatProgg mit Indy Internetkompatibel machen
@Chris1986: Gibts da keine möglichkeit den Server dauernt laufen zu lassen ? Weil wenn einer den Server macht, ok, nur wenn der seinen PC ausmacht, is ja nixmehr mit chaten...
|
Re: ChatProgg mit Indy Internetkompatibel machen
@Äfan: Das weicht ja jetzt schon stark vom Thema ab. Vielleicht machst du besser einen neuen Thread auf.
Mir fallen aber spontan 3Sachen ein: 1.) Auf ![]() 2.) Eigenen Server mieten. Z.B: bei Strato 3. Mehrere Leute haben Server laufen, die Server kommunizieren untereinander. Wenn einer ausfällt übernimmt ein anderer die Clients. Die erste Möglichkeit ist die einfachste. Ihr müsst euch nur absprechen auf wen wann die DNS geleitet wird. Nummer 2 ist die teuerste. Server gibts erst ab ca 40€ Die dritte Möglichkeit ist die aufwändigste. Nachrichten auch noch unter Servern austauschen und an Clients verteilen die an verschiedenen Servern hängen ist bestimmt nich einfach, macht aber bestimmt viel Spaß und du lernst ne Menge. MfG Christian |
Re: ChatProgg mit Indy Internetkompatibel machen
Der link geht net. Also würde es reichen das Server programm zu nehmen und auf nen server laufen zu lasen oder ? Weil die mäglichkeit hätte ich.
MFG |
Re: ChatProgg mit Indy Internetkompatibel machen
Klar geht der Link. :roll:
Einfach auf nen Server ist so ne Sache. Willst du 40€ im Monat für ein Chatprogramm bezahlen was schlechter als ICQ oder AIM ist? :?: Ich würde Nummer3 probieren MfG Christian |
Re: ChatProgg mit Indy Internetkompatibel machen
Ja klar das geht. Musst halt einen Server proggen, der dann auch mal mit 100 Clients arbeiten kann, sonst bringt es des net wirklich! Kannst ja dann in den Client einbauen, dass alle die Ip von dem Server (von deinem Kumpel (Insider :mrgreen: )) anwählen.
Grüsse // edit: @ Chris: Der link funkt bei mir aber auch nicht! :? |
Re: ChatProgg mit Indy Internetkompatibel machen
Zitat:
Zitat:
Zitat:
MFG |
Re: ChatProgg mit Indy Internetkompatibel machen
@ Chris1986: Kannst du evt. noch kurz schreiben, wie du die Threads mit dem Server verwaltest? Thx :-D
|
Re: ChatProgg mit Indy Internetkompatibel machen
Ich möchte ja kein Spielverderber sein, und zum lernen und so sind solche Chatprogramme sicher sinnvoll.
Aber zum ernsten chatten würde ich dann ja doch eher das bereits existierende IRC empfehlen, weil es sich einfach bewährt hat. Warum das Rad neu erfinden, wenn das vorhandene rund läuft? |
Re: ChatProgg mit Indy Internetkompatibel machen
@ Garland: Genau das hab ich mich auch gefragt. Deswegen auch die Frage, ob sie dafür einen Server mieten würden :lol: Wenn Äfan sowieso nen Server hat ist es ja egal. Nur extra zahlen würde ich dafür auf keinen Fall.
@mr47: Sieh dir doch mal die Demo an. :roll: Die Demo ist den Indys entnommen ich hab nur den Client leicht verändert, damit man den Host selbst wählen kann. Der steht sonst standardmäig auf localhost. MfG Christian |
Re: ChatProgg mit Indy Internetkompatibel machen
Zitat:
@Garland: Haste dafür ein beispiel ? Bei Indy demos is doch keiner dabei oder ? Zitat:
MFG |
Re: ChatProgg mit Indy Internetkompatibel machen
Liste der Anhänge anzeigen (Anzahl: 1)
Also für IRC Clients würde ich die Vortex Komponente nehmen. Allerdings habe ich mit der neuen Version immer Probleme gehabt beim kompilieren, weiß aber nicht mehr genau was es war.
Du kannst dir ja erstmal die neue(n) ansehen, such evtl mal bei Google nach Vortex IRC. Fallls du wie ich Probleme mit denen haben solltest, hänge ich dir hier noch mal die alte mit ran. Falls du das IRC bereits kennst, dürftest du damit recht wenig Probleme haben. |
Re: ChatProgg mit Indy Internetkompatibel machen
die neue find ich nicht und die alte lässt sich nicht installieren:
[Fataler Fehler] vortex.pas(57): Datei nicht gefunden: 'wsocket.dcu' |
Re: ChatProgg mit Indy Internetkompatibel machen
@ Chris1986: oh sorry :oops:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:28 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