HexTcpQuery registry settings
HexTcpQuery provides a way of changing special options though the
If it does not already exist, create the following registry key:
Then you can create one or more of the following values below it:
Set this value to 1 to turn on the TCP half-close option, 0 to turn
it off. The TCP half-close is off by default as of version 1.0.19.
TCP half-close is a transport-level signal that indicates the client has
finished sending its query. If you turn off the half-close, you must
send an application-level signal to indicate your query is finished
(which you should do anyway).
This typically means ending your query strings with a CRLF (or two CRLFs,
in the case of HTTP).
This option is provided to control interoperability with various
server implementations. Some rare (and broken) implementations do not
respond correctly to the TCP half-close. In particular, the Whois
software that RIPE updated in 2001 at whois.ripe.net intentionally
mishandles the half-close, supposedly in an effort to improve
The only known issue with leaving the half-close off is that you
must terminate your queries as described above. If you don't, the
server you're querying will not know you're finished and will continue
waiting, causing HexTcpQuery to time out.
Set this value to the maximum number of bytes to allocate for
HexTcpQuery's receive buffer. The default is 1,048,576 (1 MB).
HexTcpQuery is not designed for receiving large files--it stores
everything it receives in memory before passing it back as a return
value. This makes the programming interface very simple but limits the
amount that can be received. If you want to receive multi-megabyte
files, you should consider using a regular socket component, HTTP
component, or FTP component that allows you to receive and save files
in a series of chunks.
Nevertheless, if you want to receive large files with HexTcpQuery
and have sufficient RAM to devote to the task, you can raise
HexTcpQuery's receiving limit by setting this registry value.