Newsgroups : Borland : borland.public.delphi.internet.winsock : 2008 Jan : Re: Looking for very basic indy 10 server examples
| Subject: | Re: Looking for very basic indy 10 server examples |
| Posted by: | "Mark Smith" (marksmi..@jungle-monkey.com) |
| Date: | Thu, 24 Jan 2008 22:24:56 |
>> So, where is TIdPeerThread defined?
>
> There is no TIdPeerThread in Indy 10. It was replaced with TIdContext.
>
>
> Gambit
>
>
I was working from source code in the Official Indy 10 pdf manual. On
page 106. They should probably update their examples:
Server Source Code
unit ServerMain;
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
IdBaseComponent, IdComponent, IdTCPServer;
type
TformMain = class(TForm)
IdTCPServer1: TIdTCPServer;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure IdTCPServer1Connect(AThread: TIdPeerThread);
procedure IdTCPServer1Execute(AThread: TIdPeerThread);
private
ZipCodeList: TStrings;
public
end;
var
formMain: TformMain;
implementation
{R *.DFM}
procedure TformMain.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
AThread.Connection.WriteLn('Indy Zip Code Server Ready.');
end;
procedure TformMain.IdTCPServer1Execute(AThread: TIdPeerThread);
var
sCommand: string;
begin
with AThread.Connection do
begin
sCommand := ReadLn;
if SameText(sCommand, 'QUIT') then
begin
Disconnect;
end
else if SameText(Copy(sCommand, 1, 8), 'ZipCode ') then
begin
WriteLn(ZipCodeList.Values[Copy(sCommand, 9, MaxInt)]);
end;
end;
end;
procedure TformMain.FormCreate(Sender: TObject);
begin
ZipCodeList := TStringList.Create;
ZipCodeList.LoadFromFile(ExtractFilePath(Application.EXEName) +
'ZipCodes.dat');
end;
procedure TformMain.FormDestroy(Sender: TObject);
begin
ZipCodeList.Free;
end;
end.
none