Hello,
just a hint

If your loop (with Indy) is the same as you've written
while not terminated do
  begin
    SslHttpCli.URL := ...
    SslHttpCli.Get;
  end;

then I've run a busy thread and CPU load might be high

try to insert Sleep after SslHttpCli.Get:
while not terminated do
  begin
    SslHttpCli.URL := ...
    SslHttpCli.Get;
    Sleep(0/10/50/100/...);
  end;

and see will CPU load decrease?

As for Overbyte HTTPS client, the only thing I'd propose is to debug
sources ))

2018-03-04 17:29 GMT+03:00 Oliver Dahlmann <o...@sonicware.de>:

> Hello ICS-Users,
>
> I used Indy-Components for a long time, i stucked when i tried to access an
> AXIS-Camera with a very high resolution. Everything worked fine,
> including access via SSL, but TIdHTTP produced enourmous CPU-Load (One
> Camera-Stream without any processing, only receiving data leads to about
> 12%
> CPU-Load on my i7-7700k).
>
> So i came to ICS and tried it out. With http, i have approx. 0.3% CPU
> Load for the same task. Great. Then I tried to use SSL (ssleay32 and
> libeay32.dll are in its place) and here is where I stuck...
>
> I only receive one packet from the camera saying "// This is the only
> packet we get when trying https:
> //<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
> //<html><head>
> //<title>401 Unauthorized</title>
> //</head><body>
> //<h1>Unauthorized</h1>
> //<p>This server could not verify that you
> //are authorized to access the document
> //requested.  Either you supplied the wrong
> //credentials (e.g., bad password), or your
> //browser doesn't understand how to supply
> //the credentials required.</p>
> //</body></html>".
>
> This is my Main-Method:
>
> procedure TTestThread.Execute;
> begin
>   SslHttpCli := TSslHttpCli.Create(nil);
>   SslHttpCli.Username := 'root';
>   SslHttpCli.Password := '1234';
>   SslHttpCli.OnBeforeAuth := SslHttpCliBeforeAuth;
>   SslHttpCli.OnDocData := SslHttpCliDocData;
>
>   SslHttpCli.SslContext := TSslContext.Create(SslHttpCli);
>   SslHttpCli.SslContext.SslMinVersion := sslVerTLS1;
>   SslHttpCli.OnSslVerifyPeer := SslHttpCliSslVerifyPeer;
>   SslHttpCli.OnSslHandshakeDone := SslHttpCliSslHandshakeDone;
>
>   //SslHttpCli.ServerAuth := httpAuthDigest;
>
>   while not terminated do
>   begin
>     SslHttpCli.URL := 'https://192.168.56.99/axis-cgi/mjpg/video.cgi';
> // http is working fine, auth is no problem then...
>     SslHttpCli.Get;
>   end;
>
>   SslHttpCli.Free;
> end;
>
> and these are the additional methods:
>
> procedure TTestThread.SslHttpCliSslVerifyPeer(Sender: TObject; var Ok:
> Integer; Cert: TX509Base);
> begin
>   // We never get here
>   OK := 0; //??
> end;
>
> procedure TTestThread.SslHttpCliSslHandshakeDone(Sender: TObject;
> ErrCode: Word; PeerCert: TX509Base; var Disconnect: Boolean);
> begin
>   // Here we are 1st
>   // ErrCode is 0
>   Disconnect := FALSE;
> end;
>
> procedure TTestThread.SslHttpCliBeforeAuth(Sender: TObject; AuthType:
> THttpAuthType; ProxyAuth: Boolean; const AuthHdr: string;
>   var Allow: Boolean);
> begin
>   // Here we are 2nd
>   // AuthType is httpAuthDigest
>   // AuthHdr = 'Digest realm="AXIS_ACCC8E1CF5D6",
> nonce="39lra5ZmBQA=8c4897b58b35609ca5635c95d3738bd590a730a6",
> algorithm=MD5, qop="auth"'
>   Allow := TRUE;
> end;
>
>
> Do someone has any idea, what i need to do to establish a SSL-Connection to
> my camera?
>
> Thank you very much for any ideas and hints...
>
> Best regards,
>
> Oliver Dahlmann
>
>
>
>
> --
> To unsubscribe or change your settings for TWSocket mailing list
> please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
> Visit our website at http://www.overbyte.be
>
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to