AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi [solved] TSocket Kommunikation geht nicht
Thema durchsuchen
Ansicht
Themen-Optionen

[solved] TSocket Kommunikation geht nicht

Ein Thema von bl4ckb1rd · begonnen am 7. Jun 2009 · letzter Beitrag vom 7. Jun 2009
Antwort Antwort
bl4ckb1rd

Registriert seit: 3. Okt 2008
53 Beiträge
 
#1

[solved] TSocket Kommunikation geht nicht

  Alt 7. Jun 2009, 15:21
Ich wollte mit den TSocket Komponenten von Delphi 2009 einen Chat schreiben.
Der Server geht prima. Er kann Nachrichten annehmen und diese auch wieder versenden.

Wenn jedoch der Client was verschickt, so sagt der Server zwar er hat was erhalten, aber der Inhalt entspricht nicht dem, was in dem edit1.feld drin stand.

Hier die ganzen code ausschnitte:

Senden Button für Chat (Server und Client sind in einem Programm untergebracht):

Delphi-Quellcode:
procedure TForm1.SendenClick(Sender: TObject);
var
msg : TChat;
I : integer;
begin
if online_modus = 1 then begin
  if online_client = 1 then begin // wenn client on ist
    //msg.name := 'client';
    msg.aktion := 'ch';
    msg.chat := edit1.text;
    edit1.Text := '';
    Client.Socket.SendBuf (msg, SizeOf(msg)); // senden
  end
  else
  if online_server >= 1 then begin // wenn server on ist
    //msg.name := 'server';
    msg.aktion := 'ch';
    msg.chat := edit1.Text;
    edit1.Text := '';
    with Server.Socket do begin
      for I := 0 to ActiveConnections-1 do
        Connections[I].SendBuf (msg, SizeOf(msg))
    end; {with}
  end;
end;

Server empfangen

Delphi-Quellcode:
procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
msg : TChat;
begin
  showmessage('server hat etwas erhalten'); // dies diente dazu, um zu sehen ob der fehler doch evt. am server liegen könnte
  
   if msg.aktion = 'chthen begin // chat... // DIESER TEIL WIRD IRGENDWIE NICHT AUSGEFÜLLT
      memo1.lines.add('client' + ': '+msg.chat);
   end;
end;
Der record TChat:

Delphi-Quellcode:
type TChat = Record
    chat : string[255];
    name : string[20];
    aktion : string[20];
end;

Da der Client alles prima empfängt, poste ich den TForm1.ClientRead Part nicht.


Leider seh ich da oben keinen Fehler o.O
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: TClientSocket sendet falsch und TServerSocket richtig

  Alt 7. Jun 2009, 15:28
Du liest msg doch gar nicht ein. Es fehlt ein Socket.ReadBuf(msg, SizeOf(msg)).
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
bl4ckb1rd

Registriert seit: 3. Okt 2008
53 Beiträge
 
#3

Re: TClientSocket sendet falsch und TServerSocket richtig

  Alt 7. Jun 2009, 15:31
Habe den Fehler gerade selbst gesehen ^^

Trotzdem danke
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:28 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