AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke TServer/Client -Socket Datenaustausch
Thema durchsuchen
Ansicht
Themen-Optionen

TServer/Client -Socket Datenaustausch

Ein Thema von PetziBaer · begonnen am 13. Jan 2016 · letzter Beitrag vom 14. Jan 2016
 
PetziBaer

Registriert seit: 22. Dez 2015
4 Beiträge
 
#1

TServer/Client -Socket Datenaustausch

  Alt 13. Jan 2016, 10:49
Hallo,

bevor mir jemand den Kopf abreißt, leider bin ich im Netz nicht fündig über eine passende Antwort auf meine Frage geworden.
Ansätze konnte ich mir zusammensuchen aber letzendlich fehtl mir noch etwas.

Zu meinem eigentlichen Vorhaben:

Ich schreibe zur Zeit eine Chat-Applikation mit folgenden Features:
  • Login
  • Logout
  • Message an alle
  • Message privat
  • (Datentransfer)

Bisher können User:
  • sich anmelden
  • sich abmelden
  • Nachricht an alle schicken

Der Server listet in einer TListBox alle User mit ID und Namen auf.
Diese Date, bzw. nur die Namen, sollen an die Clienten übermittelt werden, damit diese ebenfalls eine ListBox mit den Usern haben.

Messages schreibe ich momentan wie folgt:
Code:
type
  TChatMessage = packed Record
    Text : String[255];
    User : String[255];
    Command : Integer;
  End;


//SENDEN

procedure TForm2.cmd_SendClick(Sender: TObject);
begin
  chatMessage.Text := txt_Send.Text;
  chatMessage.Command := 2;
  txt_Send.Text := '';

  Client.Socket.SendBuf(chatMessage, SizeOf(chatMessage));
end;


//EMPFANGEN

Socket.ReceiveBuf(chatMessage, SizeOf(chatMessage));

  case TCommandEnum(chatMessage.Command) of

    MsgAll:
      begin
        mem_Log.Lines.Add(chatMessage.User + ': ' + chatMessage.Text);
        ...
Jetzt bin ich an dem Punkt angekommen, wo ich die (Daten der) ListBox senden will. Allerdings weiß ich nicht wie ich das machen kann. Das Senden und Empfangen eines Steuerelements wird wohl auch über SendBuf funktionieren. Nur muss ich unterscheiden ob gerade ein Text oder die ListBox-Daten gesendet werden.

Ich hoffe das Problem habe ich verständlich geschildert.

Ich möchte dies gern mit TServerSocket bzw TClientSocket fertig machen bevor hier wieder von INDY oder ähnlichen die Rede ist. Mag sein das es dort fertige Methoden gibt oder so, aber ich will vorerst mit den ServerSocket arbeiten.

Mfg

Geändert von PetziBaer (13. Jan 2016 um 10:51 Uhr)
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:56 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