Hi Leute,
ich bekomme die TServerSocket-Komponente in einer Konsolen-Anwendung einfach nicht zum laufen. Auf
INDY-Komponenten kann ich nicht wechseln da
Indy nur synchrone Sockets benutzt, ich aber asynchrone Sockets brauche.
Hier mein Source:
Delphi-Quellcode:
Program Project2;
{$APPTYPE CONSOLE}
Uses
SysUtils, ScktComp;
Type
TMyApp = Class(TObject)
Public
Procedure Connect(Sender: TObject; Socket: TCustomWinSocket);
Procedure Disconnect(Sender: TObject; Socket: TCustomWinSocket);
Procedure Receive(Sender: TObject; Socket: TCustomWinSocket);
End;
Var
MyApp: TMyApp; Server: TServerSocket;
Procedure TMyApp.Connect(Sender: TObject; Socket: TCustomWinSocket); Begin WriteLn('Connected.') End;
Procedure TMyApp.Disconnect(Sender: TObject; Socket: TCustomWinSocket); Begin WriteLn('Disconnected.') End;
Procedure TMyApp.Receive(Sender: TObject; Socket: TCustomWinSocket); Begin WriteLn(Socket.ReceiveText) End;
Begin
MyApp := TMyApp.Create;
Server := TServerSocket.Create(nil);
Server.OnClientConnect := MyApp.Connect;
Server.OnClientDisconnect := MyApp.Disconnect;
Server.OnClientRead := MyApp.Receive;
Server.Port := 6000;
Server.Active := True;
While True Do ReadLn;
End.