[fpc-pascal] Ethernet Relays
James Richters
james at productionautomation.net
Tue Sep 8 12:55:01 CEST 2020
I added ssockets now I can compile it.
I have this working with the ssockets unit added:
Try
S:=TFPHTTPCLIENT.SIMPLEGET('http://10.10.01.01/30000/15');
except
On E: ESocketError do
Writeln('Could not connect to server'); end;
But when I try the version with the timeout, I always get the error.
What is the proper way to get the page into a variable with the timeout method?
I tried S:= C.Get('http://10.10.01.01/30000/15'); But I'm not sure that's the right way to do it, but even without the S:= I always get the EsocketError
uses fphttpclient,ssockets;
Var
C : TFPHTTPClient;
begin
C:=TFPHTTPClient.Create(Nil);
try
try
C.ConnectTimeout:=10; // Or whatever you think is good
C.Get('http://10.10.01.01/30000/15');
except
On E: ESocketError do
Writeln('Could not connect to server');
end;
finally
C.Free;
end;
end;
James
-----Original Message-----
From: fpc-pascal <fpc-pascal-bounces at lists.freepascal.org> On Behalf Of Michael Van Canneyt via fpc-pascal
Sent: Tuesday, September 8, 2020 2:51 AM
To: James Richters <james at productionautomation.net>; FPC-Pascal users discussions <fpc-pascal at lists.freepascal.org>
Cc: Michael Van Canneyt <michael at freepascal.org>
Subject: Re: [fpc-pascal] Ethernet Relays
Add the ssockets unit to your uses clause.
Michael
On Mon, 7 Sep 2020, James Richters via fpc-pascal wrote:
> When I try to compile either of the examples below, I get Error: Identifier not found "ESocketError"
> Any ideas?
>
> James
>
>
> Yes, catch the ESocketError in a try..except:
>
> Try
> S:=TFPHTTPCLIENT.SIMPLEGET('http://10.10.01.01/30000/15');
> except
> On E: ESocketError do
> Writeln('Could not connect to server'); end;
>
>> Is there a way to change the amount of time before the timeout?
>
> Yes, but then you need to create an instance, i.e. the Simple* commands won't do that for you:
>
> Instead, it will look like this:
>
> uses fphttpclient;
>
> Var
> C : TFPHTTPClient;
>
> begin
> C:=TFPHTTPClient.Create(Nil);
> try
> try
> C.ConnectTimeout:=10; // Or whatever you think is good
> C.Get('http://10.10.01.01/30000/15');
> except
> On E: ESocketError do
> Writeln('Could not connect to server');
> end;
> finally
> C.Free;
> end;
> end;
>
> Michael.
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
>
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist - fpc-pascal at lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
More information about the fpc-pascal
mailing list