Entwickler-Ecke
Internet / Netzwerk - Mehrere Clients und ein server
Pdd - Do 15.09.05 15:59
Titel: Mehrere Clients und ein server
Hi leute!
//EDIT: HAT SICH ERLEDIGT, HABE ABER TROZDEM NOCH EIN ANDRES PROBLEM:
Können sich nicht mehre Clienten einloggen, denn ich hab das so gelöst: client sendet an server, server liest nachricht und schreibt sie gleich wieder. aber die nachricht kommt nur bei dem clienten an, von dem sie geschrieben wurde, muss man da irgendwas angeben?
Narses - Do 15.09.05 22:31
Moin!
Pdd hat folgendes geschrieben: |
| client sendet an server, server liest nachricht und schreibt sie gleich wieder. aber die nachricht kommt nur bei dem clienten an, von dem sie geschrieben wurde, muss man da irgendwas angeben? |
Du mußt die Nachricht vom Server aus an alle anderen Clients senden, ausser an den, der die Nachricht an den Server gesendet hat. Genaueres erfordert Code von dir. :roll: :wink:
cu
Narses
Pdd - Fr 16.09.05 07:00
Ja das ist der server, (welcher sobald er eine nachricht empfäng sie weiter schickt an ALLE clienten, aber ich hab es so gemacht, das der client die nachricht nicht direkt ins chatfenster übernimmt sondern sie erst dann reinstellt wenn sie vom server zurückkommt):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.TCPExecute(AContext: TIdContext); var text: string; begin text:=AContext.Connection.IOHandler.ReadLn ; AContext.Connection.IOHandler.WriteLn(text); end; |
dann kommt die anchricht auch an aber nur bei dem clienten, der sie gesendet hat! nicht bei den andren! soll ich maxconnections von 0 auf 50 oda so stellen? oder muss ich beim server die clienten bei bindings eintragen? Kenn mich halt net so aus hab bisher nur mit andren sachen was gemacht. Aber wennn ich die bei bindings eintrage, sendet er dan an alle, wenn ich
Delphi-Quelltext
1: 2:
| text:=AContext.Connection.IOHandler.ReadLn ; AContext.Connection.IOHandler.WriteLn(text); |
mache oder muss ich dann angeben an welche er senden soll`?
ach ja; das is der client:
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.sendClick(Sender: TObject); begin TCPClient.IOHandler.WriteLn('['+nick.Text+']: '+ messagetosend.text); messagetosend.Text:=''; end; |
Pdd - Sa 17.09.05 23:44
Also erstmal danke für die schnelle antwort! ;-)
Ich hab jetzt rausgefunden das das mitr bindings gehen muss aber ich bekomme es nicht hin, ein neues binding hinzuzufügen! muss man das mit tcpserver.bindings.add amchen? da funzts nähmlich net!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!