Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Delphi 7 chat Nachrichten-trennung (https://www.delphipraxis.net/158697-delphi-7-chat-nachrichten-trennung.html)

TDR 27. Feb 2011 13:18

Delphi 7 chat Nachrichten-trennung
 
Hallo liebe Delphiuser,

Ich habe folgendes Problem:

Mein Chat-Server(socket) soll allen Clients mitteilen wer mit dem Server verbunden ist.
Dies löse ich folgendermaßen:

Server:
Delphi-Quellcode:
for i := 0 to ServerSocket1.Socket.ActiveConnections-1 do
  begin
    for ii := 0 to ServerSocket1.Socket.ActiveConnections-1 do
      ServerSocket1.Socket.Connections[ii].SendText('&'+ ServerSocket1.Socket.Connections[i].RemoteAddress);
  end;
Client:
Delphi-Quellcode:
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
begin
  SMessage := Socket.ReceiveText;
if '&' = SMessage[1] Then
  begin
    Delete(SMessage, 1, 1);
    Listbox1.Items.Add(SMessage);
    exit;
  end;
Mein Problem das klappt bei einem Wunderbar.
Sind es aber mehre Clients kommt:
127.0.0.1&127.0.0.1 in der Listbox-spalte
Ich möchte diese aber einzeln aufgelistet haben.

Was kann ich tun.

Vielen dank schon mal im Vorraus.

Sir Rufo 27. Feb 2011 16:36

AW: Delphi 7 chat Nachrichten-trennung
 
Du schickst die Nachricht ja schon mit einem & Zeichen an die Clients um denen mitzuteilen, das ist eine Client-Info.

Ist also bei dir das Zeichen für BeginMessage. Häng jetzt noch ein Zeichen dran für EndMessage.
Das kannst du dann auf der Client-Seite auswerten.

Bummi 27. Feb 2011 19:16

AW: Delphi 7 chat Nachrichten-trennung
 
hast Du den äußeren und den inneren Interator vertauscht?
Erst Liste generieren, dann Liste an aller versenden.

TDR 28. Feb 2011 15:56

AW: Delphi 7 chat Nachrichten-trennung
 
Zitat:

Zitat von Sir Rufo (Beitrag 1084690)
Du schickst die Nachricht ja schon mit einem & Zeichen an die Clients um denen mitzuteilen, das ist eine Client-Info.

Ist also bei dir das Zeichen für BeginMessage. Häng jetzt noch ein Zeichen dran für EndMessage.
Das kannst du dann auf der Client-Seite auswerten.

Zitat:

Zitat von Bummi (Beitrag 1084728)
hast Du den äußeren und den inneren Interator vertauscht?
Erst Liste generieren, dann Liste an aller versenden.

OK erstmal danke für die Antworten

ich denke im prinziep kann man aus euren antworten ja was machen:

Delphi-Quellcode:
for i := 0 to ServerSocket1.Socket.ActiveConnections-1 do
  begin
Message := Message + '&' + ServerSocket1.Socket.Connections[i].RemoteAddress); + ';'
   end;
for ii := 0 to ServerSocket1.Socket.ActiveConnections-1 do
      ServerSocket1.Socket.Connections[ii].SendText(Message);

TDR 28. Feb 2011 15:57

AW: Delphi 7 chat Nachrichten-trennung
 
Allerdings

Wie empfange ich das jetzt?

besser gefragt: Wie teile ich das?

TDR 12. Mär 2011 13:39

AW: Delphi 7 chat Nachrichten-trennung
 
Wurde so gelöst !!!

TDR 12. Mär 2011 17:19

AW: Delphi 7 chat Nachrichten-trennung
 
Beendet


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz