Hello Geppy,

Here is a working client example for this server:

type
  TState = (stUser, stData);

  PData = ^TData;
  TData = record
    Name: string[10];
    ID: integer;
  end;

  TForm1 = class(TForm)
    Cli: TWSocket;
    procedure FormCreate(Sender: TObject);
    procedure CliDataAvailable(Sender: TObject; ErrCode: Word);
  private
    State: TState;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
   AllocConsole;
   Cli.Addr := '127.0.0.1';
   Cli.Port := '20000';
   Cli.LineMode := True;
   Cli.Connect;
end;

procedure TForm1.CliDataAvailable(Sender: TObject; ErrCode: Word);
var
   Data: TData;
   Rcvd: string;
begin
   Rcvd := Cli.ReceiveStr;
   if Rcvd = '' then
      Exit;

   WriteLn(Rcvd);

   case Rcvd[1] of
      'W':  begin
         Cli.SendStr('user wilfried'#13#10);
         State := stUser;
      end;
      '+':
         case State of
            stUser: begin
               Cli.SendStr('data ' + IntToStr(SizeOf(TData)) + #13#10);
               FillChar(Data, SizeOf(TData), 0);
               Cli.Send(@Data, SizeOf(TData));
               State := stData;
            end;
            stData:
               Cli.SendStr('quit'#13#10);
         end;
   end;
end;

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to