| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | Program server;{    This file is part of the Free Component Library (FCL)    Copyright (c) 1999-2000 by the Free Pascal development team    See the file COPYING.FPC, included in this distribution,    for details about the copyright.    This program is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. **********************************************************************}{  TInetServer server program. This will listen on port 4100 till  a client connects. You can connect by running the 'isockcli' or  'dsockcli -i' programs in another terminal.}{$mode objfpc}{$H+}uses ssockets;const  ThePort=4100;Type  TINetServerApp = Class(TObject)  Private    FServer : TInetServer;  Public    Constructor Create(Port : longint);    Destructor Destroy;override;    Procedure OnConnect (Sender : TObject; Data : TSocketStream);    Procedure Run;  end;Constructor TInetServerApp.Create(Port : longint);begin  FServer:=TINetServer.Create(Port);  FServer.OnConnect:=@OnConnect;end;Destructor TInetServerApp.Destroy;begin  FServer.Free;end;Procedure TInetServerApp.OnConnect (Sender : TObject; Data : TSocketStream);Var Buf : ShortString;    Count : longint;begin  Repeat    Count:=Data.Read(Buf[1],255);    SetLength(Buf,Count);    Write('Server got : ',Buf);  Until (Count=0) or (Pos('QUIT',Buf)<>0);  Data.Free;  FServer.StopAccepting;end;Procedure TInetServerApp.Run;begin  FServer.StartAccepting;end;Var  Application : TInetServerApp;begin  Application:=TInetServerApp.Create(ThePort);  Application.Run;  Application.Free;end.
 |