Netzwerkchat ohne Server
-
Hallo,
ich möchte gerne einen Chat für kleine Netzwerke (max. 8 User) programmieren. Nun habe ich mir gedacht, es soll keinen "globalen" Server geben, zu dem sich jeder extra verbinden muss. Also dachte ich mir ich pack in die Anwendung eine TServerSocket und eine TClientSocket Komponente und beim Senden probiere ich halt die 8 IPs durch. Das Dumme ist nur ich bekomme, wenn ich dem Client die Anweisung sich zu einer IP an der das Programm nicht aktiv ist zu connecten bekommt:
Asynchronous socket error 10049.
Kann ich so etwas überhaupt realisieren (einfach nur dumm an alle 8 IPs senden und wenn dort kein Server auf den Empfang von Nachrichten wartet es einfach vergessen und wie gewohn weitermachen)?
Danke
Robert
-
Den Fehler kannst du über das OnError-Event abfangen, siehe FAQ, unter "Netzwerk".
-
Sorry. Da stehts ja...
Das funktioniert ja soweit. Wenn ich nun aber von meinem Programm mal zum Test an mich selber einen Text schicke und dann noch an eine "falsche" IP, dann kommt die Nachricht nicht mal bei meinem Programm an!
//Nacheinander mit jeder IP verbinden und senden //An sich selber schicken Client->Active = false; Client->Address = "127.0.0.1"; Client->Active = true; Client->Socket->SendText(s_Nachricht); //Zum Test an falsche IP schicken Client->Active = false; Client->Address = "192.168.120.253"; Client->Active = true; Client->Socket->SendText(s_Nachricht);
kann mir irgendwer dabei helfen?
Danke.
Robert
-
Funktioniert dein Beispiel denn, wenn du so hintereinander an zwei (unterschiedliche) gültige Adressen sendest?
PS. Hier brauchtest du dich nicht "schuldig" zu fühlen, den Thread hatte ich auf deine Frage hin gerade erst in die FAQ gestellt.
[ Dieser Beitrag wurde am 02.07.2003 um 16:55 Uhr von Jansen editiert. ]
-
Und ich hatte den ganzen Tag lang Schuldgefühle
Nunja, das Problem ist ich habe zu Hause kein Netzwerk. Allerdings habe ich unter XP bei den Netzwerkverbindungen eine immer aktive "Lan-Verbindung 2" mit der eingetragenen IP 192.168.120.254. Diese IP wird wenn ich in einem gewissen Spiel ein LAN-Game create auch als Server IP angezeigt. Wenn ich jetzt eine Nachricht sozusagen 2-mal an mich schicke (127.0.0.1 und 192.168.120.254) dann kommt sie einmal bei mir an. Müsste sie nicht zweimal bei mir ankommen? Ich dreh langsam durch :p
Robert