| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- { $HDR$}
- {**********************************************************************}
- { Unit archived using Team Coherence }
- { Team Coherence is Copyright 2002 by Quality Software Components }
- { }
- { For further information / comments, visit our WEB site at }
- { http://www.TeamCoherence.com }
- {**********************************************************************}
- {}
- { $Log: 14144: IPv4.pas
- {
- { Rev 1.0 12-7-2002 12:42:52 BGooijen
- { Tests to check if IPv4 and IPv6 works.
- { This is done by connection a TCPClient to a TCPServer.
- { NOTE: the IPv6 test fails when there is no IPv6 support in the OS.
- }
- unit IPv4;
- interface
- uses
- IndyBox;
- type
- TIPv4Box = class(TIndyBox)
- public
- procedure Test; override;
- end;
- implementation
- uses
- IdTCPServer, IdTCPClient, IdException, IdServerIOHandlerStack, IdIOHandlerStack, IdCoreGlobal,
- SysUtils;
- { TCommandHandlerProc }
- procedure TIPv4Box.Test;
- var
- LServer: TIdTCPServer;
- LServerIO:TIdServerIOHandlerStack;
- LClient: TIdTCPClient;
- LClientIO:TIdIOHandlerStack;
- begin
- LServer:= nil;
- LServerIO:= nil;
- LClient:= nil;
- LClientIO:= nil;
- try
- LServer:= TIdTCPServer.Create(nil);
- LServerIO:= TIdServerIOHandlerStack.Create(nil);
- LServer.IOHandler:= LServerIO;
- with LServer.Bindings.Add do begin
- IP:='0.0.0.0';
- Port:=12987;
- IPVersion:=Id_IPv4;
- end;
- try
- LServer.Active:=true;
- except on e: EIdException do
- Check(false, 'The TIdTCPServer failed to start: '+e.message);
- end;
- Check(LServer.Active, 'The TIdTCPServer doesn''t seem to be running, but no exception occured?'); // BGO: Just to be sure
- LClient:= TIdTCPClient.Create(nil);
- LClientIO:= TIdIOHandlerStack.Create(nil);
- LClient.IOHandler:=LClientIO;
- LClientIO.Host:='127.0.0.1';
- LClientIO.Port:=12987;
- LClientIO.IPVersion:=Id_IPv4;
- try
- LClient.Connect;
- except on e: EIdException do
- Check(false, 'The TIdTCPClient failed to connect: '+e.message);
- end;
- finally
- FreeAndNil( LServer );
- FreeAndNil( LServerIO );
- FreeAndNil( LClient );
- FreeAndNil( LClientIO );
- end;
- end;
- initialization
- TIndyBox.RegisterBox(TIPv4Box, 'IPv4 Support', 'Misc');
- end.
|