Jump to content

Angus Robertson

  • Content Count

  • Joined

  • Last visited

  • Days Won


Angus Robertson last won the day on December 20 2020

Angus Robertson had the most liked content!

Community Reputation

186 Excellent

About Angus Robertson

  • Birthday December 16

Technical Information

  • Delphi-Version
    Delphi 10.4 Sydney

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I've just written a new TIcsInetAlive component, will be in SVN shortly, it measures the round time for ping and HTTP requests, and these are my results from Windows 10 over FTTC to a London data centre where Microsofts hosts this domain. 08:31:24 Check Alive Ping to www.msftconnecttest.com ( took 5 msecs 08:31:24 Check Alive to http://www.msftconnecttest.com/connecttest.txt ( took 16 msecs 08:31:49 Check Alive Ping to ipv6.msftconnecttest.com ([2a01:111:2003::52]) took 5 msecs 08:31:49 Check Alive to http://ipv6.msftconnecttest.com/connecttest.txt ([2a01:111:2003::52]) took 15 msecs Note HTTP is the complete lookup DNS, connect, get a page, close cycle, not just send and receive a packet. I'm only timing with ticks, not performance counter, but I believe ticks are reasonably accurate in modern versions of Windows. Angus
  2. I don't believe ICS has any OS checks between Windows 7 and 10, only back to XP, nor does it check for 32-bit or 64-bit versions of Windows, and no conditional Win64 code for TWSocket. But the Windows winsock code is 12 years younger so maybe different. Are you sending packets using simple TWSocet functions, using IP addresses not domain names? Angus
  3. The Dxx projects are Delphi, CBxx are C++ Builder. Looks like I put an extra D in the name, should have been OverbyteIcsCB101Run.cbproj, but evewn that is missing, so try Packages\OverbyteIcsCBXe3Run.cbproj and Packages\OverbyteIcsCBXe3Design.cbproj. We are dependent upon C++ users to supply packages for new compilers, and it does not happen often enough. Angus
  4. Angus Robertson


    Indeed, lets hope Embarcadero uses it to bring some long neglected RTL files up to date. Also OpenSSL, but dare not ask them anything new, so far behind on 3.0. Angus
  5. Angus Robertson

    Best components for creating windows service apps

    Thanks, I'll update the DllSuffixes for the next release of Delphi. I added support for DDService in Delphi 10.4 last summer. Angus
  6. Unless you need FMX support, you would be better installing the VCL only packages, they are less complicated. But we don't seem to have them for 10.2 and later, so try using OverbyteIcsCBD101Run.cbproj and OverbyteIcsCBD101Design.cbproj Sorry, I don't use C++ so can not help you any further. We are dependent upon ICS users for C++ support. Angus
  7. Angus Robertson

    Retrieving gmail email with TIDPop3

    Add recent: to the start of the account user name, no spaces. Angus
  8. Angus Robertson

    How to check internet connection with TWSocket ?

    www.msftncsi.com and ipv6.msftncsi.com both respond to ping. Angus
  9. Angus Robertson

    How to check internet connection with TWSocket ?

    Rather than accessing Google, you should check http://www.msftncsi.com/ncsi.txt and http://ipv6.msftncsi.com/ncsi.txt which are the Microsoft Network Connectivity Status Indicator web pages used by almost all Windows installations every few seconds for many years to detect network connectivity for IPv4 and IPv6 (one or other may not work). They are designed for heavy use, and return a two word text page. While you can use TCP to open a web page, there is a long timeout trying to connect, 30 seconds or more, so it's faster to use ICMP ping, to www.msftncsi.com, look at the OverbyteIcsPingTst.dpr sample, with ping you can set a five second (or less) timeout to get a quick response. Angus
  10. The original example was a short POST URL with parameters sent as Json, which can easily be encypted in numerous ways for privavy, base64 does not protect anything. Advantage of using JOSE is the use of standard libraries. Not sure why one would want to prorect a simple login page URL. Angus
  11. Which is why many servers insist on using JOSE technologies such as Json Web Signing which means the headers are signed with a password or private key before being sent, so can not be changed without the server knowing, this is how Let's Emcrypt and OAuth1/2 work. Or Json Web Encryption if you don't want the headers read. Angus
  12. Sorry, my fault, seems the latest version never made it to master or SVN, Will be fixed real soon, once I get SVN installed on my new development PC, such a pain building new systems. Angus
  13. The comments at the top should say: Sep 2020 V8.65 - Added TIcsTwitter and TIcsRestEmail, unless you have an older version? Angus
  14. That particular demo is obsolete and no longer works, since it does not support SSL, and that is needed for Google and almost everyone else nowadays. I really should remove many of the old files from the ICS distribution, if there were more hours in the day... ICS has a new SSL REST and Json demo, OverbyteIcsHttpRestTst.dpr, you should be able to use the GUI to make the same search as the old demo. Angus
  15. Displaying a replacement password character could be done by editing the form in the program resources, but would mean changing each TEdit component separately. I guess developers should really set the replacement character before display to stop editing, to overcome that would mean a lot of debugging. Of course all executables should be code signed against tampering, and the hash should be checked by the program itself before it runs, ideally the certificate as well. I have a little unit that does that. Angus