Hallo Socke_SG;
Zitat von
Socke_SG:
Nachricht ist einfach ne Chat-Nachricht:Nachricht: TChatNachricht;
TChatNachricht ist ein Object, Array, Record ...?
Ich nehme mal an, wegen SizeOf ist es eine packed Record struct, mit ShortStrings??
Zitat von
Socke_SG:
Die Empfangsroutine ist:
Delphi-Quellcode:
procedure TFrmClient.ClientSocketRead (Sender: TObject; Socket: TCustomWinSocket);
var Nachricht: TChatNachricht;
strIn, strText: String;
rand: integer;
begin
Socket.ReceiveBuf (Nachricht, SizeOf(Nachricht));
mess:=Nachricht.text;
...
end;
Du liest aus dem Socket einfach in eine Struktur die du auch beim Senden verwendest.
Dies funktioniert nur manchmal, wenn Du glück hast richtig.
Du brauchst einen Empfangsbuffer, aus dem du die gesendeten Fragmente, wenn eine RecordSize übertragen
wurde, dann in Nachricht kopierst, und dann erst diese weiterbearbeitest.
Zitat von
Socke_SG:
Wie gesagt unter XP alles kein Problem.
Einfach Glück!
Wie dies korrekt implementiert werden kann, findest Du hier.
http://www.delphipraxis.net/internal...195&highlight=
lg. Astat