|
|
ITK Programmer's Guide |
||||||||
|
Table of contents | Intro | General
| TCP Low Level | TCP High Level | UDP | DNS
| PPP
|
|||||||||
ITK v3 requires 4D v11 SQL or higher.
This single Bundle version will work with MacOS and Windows deployments (you don’t need a separate MacOS and Windows version).
1 — Locate the folder where ITK has been installed on your computer.
2 — Locate the 4th Dimension structure where you wish to install the ITK plug-in.
3 — If you don’t already have a directory labeled “Plugins”, create one now.
4 — Copy the following plug-in to your applications Plugins folder: itk.bundle.
In order to get the best performances with ITK, here are the rules we followed while implementing ITK:
- ITK routines tries to let 4D's multiprocessing work as fast as possible by calling 4D's Idle entry point when needed,
- all TCP/IP layers are called asynchronously to get the best performances.
Any missing parameter is considered equal to 0 for numeric data or empty string for string or text data (this is automatically handled by 4D and 4D Compiler).Ex: ITK_TCPSend($c) equals ITK_TCPSend($c;"";0)
ITK 1.1 and further versions provide some new features that support multihoming when running under Windows NT. Multihoming is also supported in ITKv2 and above on the MacOS with OpenTransport 1.3 or above installed.
Some routines like ITK_TCPOpen, ITK_TCPListen and ITK_TCPStrmInfo have some parameters to support multihoming.ITK_TCPOpen has a parameter used to specify the local IP address of the stream.
ITK_TCPListen has a parameter to restrict listening on a specific local IP address.
By default, ITK_TCPListen listens on all local IP addresses.ITK_TCPStrmInfo returns the local IP address of a connected stream.
Registration
ITK requires a registration number to “unlock” the product making it a full working version. Call ITK_Init command in the On Startup method.
Without the serial number, ITK will operate in demonstration mode during 10 minutes.
Version 3 introduced a new license design. Previous licenses will not work with this release.
In order to activate ITK 3.0 and above, you need to require a new license key from e-Node.
License types
Like all e-Node plug-ins, ITK offers six different license types. There are no such things as MacOS vs Windows or Development vs Deployment:
Single user license. This license allows development (interpreted mode) or deployment (interpreted or compiled mode) on 4D Standalone or Runtime. Since the license number is linked to a specific 4D license, you need to provide the number returned by the 4D command
GET SERIAL INFORMATION (first parameter). A new license will be provided for free at any time if you change your 4D version and/or get a new 4D license number.
Small server. This license allows development (interpreted mode) or deployment (interpreted or compiled mode) on 4D Server up to 10 users. The license number is linked to your 4D Server license just as above.
Medium server. This license allows development (interpreted mode) or deployment (interpreted or compiled mode) on 4D Server up with 11 to 20 users. The license number is linked to your 4D Server license just as above.
Large server. This license allows development (interpreted mode) or deployment (interpreted or compiled mode) on 4D Server over 20 users. The license number is linked to your 4D Server license just as above.
Unlimited Single User. This license allows development (interpreted mode) or deployment (interpreted or compiled mode) on as many 4D Standalone, Runtime or Engine copies that run your 4D application(s). This is a yearly license, which expires one month after the date when it is to be renewed. The expiration only affects interpreted mode. Compiled applications using an obsolete license will never expire.
Unlimited OEM. This license allows development (interpreted mode) or deployment (interpreted or compiled mode) on as many 4D Server (of any umber of users), 4D Standalone, Runtime or Engine copies that run your 4D application(s). This is a yearly license, which expires one month after the date when it is to be renewed. The expiration only affects interpreted mode. Compiled applications using an obsolete license will never expire.
A 4D database used to retrieve your 4D serial information is available from the following link: http://www.e-node.net/ftp/GetSerialInfo
Year 2000 compliance is related to dates. Dates are only used in Internet ToolKit in date conversion routines (ITK_Date2Secs, ITK_Secs2Date, ITK_Secs2RFC and ITK_RFC2Secs).The first two routines ( ITK_Date2Secs and ITK_Secs2Date ) are using dates in 4D format which is Y2K compliant, so, these routines are also Y2K compliant.
For the last two routine, Y2K compliance depends on RFC#822 and RFC#1123 which are defining date formatting. RFC#822 defines a format were the year uses only 2 digits. RFC#822 formatted string are not Y2K compliant.
RFC#1123 updates RFC#822 format to use 4 digits for the year (see RFC#1123 page 55). This makes RFC#1123 formatted dates Y2K compliant.
ITK_Secs2RFC converts a date/time value into an RFC#1123 formatted string, so, this routine is Y2K compliant.
ITK_RFC2Secs converts an RFC#822 or RFC#1123 formatted string into a date/time value.So there are two cases:
- If the string is formatted according to RFC#1123 (4 digits for the year), this routine is Y2K compliant.
- If the date is formatted according to RFC#822 (2 digits for the year), this routine is not Y2K compliant.
To reduce the effect of RFC#822 formatted dates, all years below 40 and considered after year 2000 and all years above 39 are considered before 2000.
Example:
- "Fri, 28-Jul-95 22:50:10" -> will be considered as 1995
- "Sat, 01-Jan-00 00:00:00" -> will be considered as 2000
- "Fri, 25-Dec-20 00:00:00" -> will be considered as 2020