Re: [twsocket] don`t connect simply client to simply server

2009-11-11 Thread Alexey Voytsehovich
Hello Francois,

Wednesday, November 11, 2009, 4:02:15 PM, you wrote:

> Hello Alexey,

> Your code has avery common flaw: there is no message pump allowing events to
> be processed. Look at one of the console demo to see how to build a console
> mode program with a message pump.

tnx. it`s working :)

-- 
Best regards,
 Alexey Voytsehovichmailto:iron...@gmail.com

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


Re: [twsocket] don`t connect simply client to simply server

2009-11-11 Thread Francois PIETTE

Hello Alexey,

Your code has avery common flaw: there is no message pump allowing events to 
be processed. Look at one of the console demo to see how to build a console 
mode program with a message pump.


btw: Do not use OnStateChange event for anything else than displaying 
informations. Use the other events such as OnSessionConnected and similar.


--
francois.pie...@overbyte.be
The author of the freeware multi-tier middleware MidWare
The author of the freeware Internet Component Suite (ICS)
http://www.overbyte.be

- Original Message - 
From: "Alexey Voytsehovich" 

To: 
Sent: Wednesday, November 11, 2009 1:51 PM
Subject: [twsocket] don`t connect simply client to simply server



Hi. Help please. This code

--server--

program serverdelphi;

{$APPTYPE CONSOLE}

uses
 sysutils,
 dateutils,
 OverbyteIcsWSockBuf,
 OverbyteIcsWSocket,
 OverbyteIcsWSocketS;

type
 { TWorkClass }

 TWorkClass = class
 public
   procedure StateChange(Sender: TObject; OldState, NewState : 
TSocketState);

   procedure SslWSocketServer1ClientConnect(Sender: TObject;
 Client: TWSocketClient; Error: Word);
   procedure SessionConnect(Sender: TObject; ErrCode: Word);
 end;

var
 socket: TWSocketServer;
 WorkClass: TWorkClass;
 dt: tdatetime;

{ TWorkClass }

procedure TWorkClass.StateChange(Sender: TObject; OldState,
 NewState: TSocketState);
begin
 write(' From ' );
 case OldState of
   wsInvalidState: write('wsInvalidState');
   wsOpened: write('wsOpened');
   wsBound: write('wsBound');
   wsConnecting: write('wsConnecting');
   wsSocksConnected: write('wsSocksConnected');
   wsConnected: write('wsConnected');
   wsAccepting: write('wsAccepting');
   wsListening: write('wsListening');
   wsClosed: write('wsClosed');
 end;
 write (' To ');
 case NewState of
   wsInvalidState: write('wsInvalidState');
   wsOpened: write('wsOpened');
   wsBound: write('wsBound');
   wsConnecting: write('wsConnecting');
   wsSocksConnected: write('wsSocksConnected');
   wsConnected: begin
  write('wsConnected');
  try
socket.SendLine('test');
  except
on E:Exception do
  writeln('Connect E.Message=' + E.Message);
  end;
end;
   wsAccepting: write('wsAccepting');
   wsListening: write('wsListening');
   wsClosed: write('wsClosed');
 end;
 writeln;
end;

procedure TWorkClass.SessionConnect(Sender: TObject; ErrCode: Word);
begin
 Writeln('session connect');
end;

procedure TWorkClass.SslWSocketServer1ClientConnect(Sender: TObject;
 Client: TWSocketClient; Error: Word);
begin
 writeln('connect');
end;

begin
 WorkClass := TWorkClass.Create;
 socket := TWSocketServer.Create(nil);
 socket.OnClientConnect := WorkClass.SslWSocketServer1ClientConnect;
 socket.OnSessionConnected := WorkClass.SessionConnect;
 socket.OnChangeState := WorkClass.StateChange;
 socket.Port:= '2';
 socket.Addr:= '127.0.0.1';
 socket.Listen;
 dt := Now;
 repeat
   sleep(1000);
 until MinutesBetween(Now, dt) > 1;
 WorkClass.Free;
 socket.free;
end.

--client--

program clientdelphi;

{$APPTYPE CONSOLE}

uses
 sysutils,
 dateutils,
 OverbyteIcsWSockBuf,
 OverbyteIcsWSocket,
 OverbyteIcsWSocketS;

type
 { TWorkClass }

 TWorkClass = class
 public
   procedure StateChange(Sender: TObject; OldState, NewState : 
TSocketState);

   procedure CliSocketSessionConnected(Sender: TObject; ErrCode: Word);
 end;

var
 socket: TWSocket;
 WorkClass: TWorkClass;
 dt: tdatetime;
{ TWorkClass }

procedure TWorkClass.StateChange(Sender: TObject; OldState,
 NewState: TSocketState);
begin
 write(' From ' );
 case OldState of
   wsInvalidState: write('wsInvalidState');
   wsOpened: write('wsOpened');
   wsBound: write('wsBound');
   wsConnecting: write('wsConnecting');
   wsSocksConnected: write('wsSocksConnected');
   wsConnected: write('wsConnected');
   wsAccepting: write('wsAccepting');
   wsListening: write('wsListening');
   wsClosed: write('wsClosed');
 end;
 write (' To ');
 case NewState of
   wsInvalidState: write('wsInvalidState');
   wsOpened: write('wsOpened');
   wsBound: write('wsBound');
   wsConnecting: write('wsConnecting');
   wsSocksConnected: write('wsSocksConnected');
   wsConnected: begin
  write('wsConnected');
  try
socket.SendLine('test');
  except
on E:Exception do
  writeln('Connect E.Message=' + E.Message);
  end;
end;
   wsAccepting: write('wsAccepting');
   wsListening: write('wsListening');
   wsClosed: write('wsClosed');
 end;
 writeln;
end;

procedure TWorkClass.CliSocketSessionConnected(Sender: TObject; ErrCode: 
Word);

begin
 writeln('CliSocketSessionConnected');
end;

begin
 WorkClass := TWorkClass.Create;
 socket := TWSocket.Create(nil);
 socket.OnChangeState := WorkClass.StateChange;
 socket.OnSessionConnected := WorkClass.CliSocketSessionConnected;
 socket.Port:= '2';
 so

[twsocket] don`t connect simply client to simply server

2009-11-11 Thread Alexey Voytsehovich
Hi. Help please. This code

--server--

program serverdelphi;

{$APPTYPE CONSOLE}

uses
  sysutils,
  dateutils,
  OverbyteIcsWSockBuf,
  OverbyteIcsWSocket,
  OverbyteIcsWSocketS;

type
  { TWorkClass }

  TWorkClass = class
  public
procedure StateChange(Sender: TObject; OldState, NewState : TSocketState);
procedure SslWSocketServer1ClientConnect(Sender: TObject;
  Client: TWSocketClient; Error: Word);
procedure SessionConnect(Sender: TObject; ErrCode: Word);
  end;

var
  socket: TWSocketServer;
  WorkClass: TWorkClass;
  dt: tdatetime;

{ TWorkClass }

procedure TWorkClass.StateChange(Sender: TObject; OldState,
  NewState: TSocketState);
begin
  write(' From ' );
  case OldState of
wsInvalidState: write('wsInvalidState');
wsOpened: write('wsOpened');
wsBound: write('wsBound');
wsConnecting: write('wsConnecting');
wsSocksConnected: write('wsSocksConnected');
wsConnected: write('wsConnected');
wsAccepting: write('wsAccepting');
wsListening: write('wsListening');
wsClosed: write('wsClosed');
  end;
  write (' To ');
  case NewState of
wsInvalidState: write('wsInvalidState');
wsOpened: write('wsOpened');
wsBound: write('wsBound');
wsConnecting: write('wsConnecting');
wsSocksConnected: write('wsSocksConnected');
wsConnected: begin
   write('wsConnected');
   try
 socket.SendLine('test');
   except
 on E:Exception do
   writeln('Connect E.Message=' + E.Message);
   end;
 end;
wsAccepting: write('wsAccepting');
wsListening: write('wsListening');
wsClosed: write('wsClosed');
  end;
  writeln;
end;

procedure TWorkClass.SessionConnect(Sender: TObject; ErrCode: Word);
begin
  Writeln('session connect');
end;

procedure TWorkClass.SslWSocketServer1ClientConnect(Sender: TObject;
  Client: TWSocketClient; Error: Word);
begin
  writeln('connect');
end;

begin
  WorkClass := TWorkClass.Create;
  socket := TWSocketServer.Create(nil);
  socket.OnClientConnect := WorkClass.SslWSocketServer1ClientConnect;
  socket.OnSessionConnected := WorkClass.SessionConnect;
  socket.OnChangeState := WorkClass.StateChange;
  socket.Port:= '2';
  socket.Addr:= '127.0.0.1';
  socket.Listen;
  dt := Now;
  repeat
sleep(1000);
  until MinutesBetween(Now, dt) > 1;
  WorkClass.Free;
  socket.free;
end.

--client--

program clientdelphi;

{$APPTYPE CONSOLE}

uses
  sysutils,
  dateutils,
  OverbyteIcsWSockBuf,
  OverbyteIcsWSocket,
  OverbyteIcsWSocketS;

type
  { TWorkClass }

  TWorkClass = class
  public
procedure StateChange(Sender: TObject; OldState, NewState : TSocketState);
procedure CliSocketSessionConnected(Sender: TObject; ErrCode: Word);
  end;

var
  socket: TWSocket;
  WorkClass: TWorkClass;
  dt: tdatetime;
{ TWorkClass }

procedure TWorkClass.StateChange(Sender: TObject; OldState,
  NewState: TSocketState);
begin
  write(' From ' );
  case OldState of
wsInvalidState: write('wsInvalidState');
wsOpened: write('wsOpened');
wsBound: write('wsBound');
wsConnecting: write('wsConnecting');
wsSocksConnected: write('wsSocksConnected');
wsConnected: write('wsConnected');
wsAccepting: write('wsAccepting');
wsListening: write('wsListening');
wsClosed: write('wsClosed');
  end;
  write (' To ');
  case NewState of
wsInvalidState: write('wsInvalidState');
wsOpened: write('wsOpened');
wsBound: write('wsBound');
wsConnecting: write('wsConnecting');
wsSocksConnected: write('wsSocksConnected');
wsConnected: begin
   write('wsConnected');
   try
 socket.SendLine('test');
   except
 on E:Exception do
   writeln('Connect E.Message=' + E.Message);
   end;
 end;
wsAccepting: write('wsAccepting');
wsListening: write('wsListening');
wsClosed: write('wsClosed');
  end;
  writeln;
end;

procedure TWorkClass.CliSocketSessionConnected(Sender: TObject; ErrCode: Word);
begin
  writeln('CliSocketSessionConnected');
end;

begin
  WorkClass := TWorkClass.Create;
  socket := TWSocket.Create(nil);
  socket.OnChangeState := WorkClass.StateChange;
  socket.OnSessionConnected := WorkClass.CliSocketSessionConnected;
  socket.Port:= '2';
  socket.Addr:= '127.0.0.1';
  try
socket.Connect;
  except
on E:Exception do
  writeln('Connect E.Message=' + E.Message);
  end;

  dt := now;
  repeat
sleep(1000);
  until (MinutesBetween(Now, dt) > 1);
  WorkClass.Free;
  socket.free;
end.

--
don`t connect between.
i view this text
--server--
 From wsClosed To wsBound
 From wsBound To wsListening
--client--
 From wsClosed To wsOpened
 From wsOpened To wsConnecting

 its all.

 Help please

  

-- 
Best regards,
 Alexey Voytsehovich  mailto:iron...@gmail.com

--
To unsubscribe or change you