![]() |
Record vom Client zum Server schicken mit Socketkomponenten
Hier mal eine Möglichkeit die auch jeder versteht, und die einfach nachzuvollziehen ist.
Benötigte Komponenten 2x Memo, 1x Clientsocktet, 1x Serversocket.
Delphi-Quellcode:
[edit=Chakotay1308]SourceCode formatiert. Mfg, Chakotay1308[/edit]
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp; type TForm1 = class(TForm) ClientSocket1: TClientSocket; Memo1: TMemo; ServerSocket1: TServerSocket; Memo2: TMemo; CheckBox1: TCheckBox; procedure CheckBox1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocket1ClientWrite(Sender: TObject; Socket: TCustomWinSocket); private { Private-Deklarationen } public { Public-Deklarationen } end; type CTDaten = record //Record des Clienten Name: string[60]; Zahl: integer; end; type STDaten = record // leerer Record des Servers Name: string[60]; Zahl: Integer; end; var Form1: TForm1; CLDaten: CTDaten; SRDaten: STDaten; implementation {$R *.dfm} procedure TForm1.CheckBox1Click(Sender: TObject); begin clientsocket1.Active := checkbox1.Checked; end; procedure TForm1.FormCreate(Sender: TObject); begin clDaten.Name := 'Marko'; clDaten.Zahl := 123456455; //unseren Client-Record füllen end; procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin memo1.Lines.Add(inttostr(sizeof(cldaten))); // Wie groß ist der Record. clientsocket1.Socket.SendBuf(cldaten, sizeof(cldaten)); //Record abschicken end; procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); begin ServerSocket1.Socket.Connections[0].ReceiveBuf(srdaten,sizeof(srdaten)); memo1.Lines.Add(srdaten.Name); //schauen ob alles angekommen ist ;) memo1.Lines.Add(inttostr(srdaten.Zahl)); end; end. [edit=Matze] Mfg, Matze[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:17 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