edit: this is probably in the wrong place, can a moderator move it to wherever it belongs?
is there any way to completely disable TCPTimeout and make TCPRecv() wait indefinitely? maybe setting it to 0 or -1 or something?
the docs doesn't seem to mention any way to disable it
- the underlying C code would set SO_RCVTIMEO to 0 , aka
setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
I have had several people ask for this, so I decided to work the algorithm for it and this is the result.
What is it?
A Gateway Proxy Sends and Receives Data Unmodified.
What is it used for?
You can use it as a gateway, relay or router between two known static IP addresses.
More information is in the header of the script.
You will need WSA_NBTCP.au3 from here:
If you have any questions or problems, let me know.
This script is based on algorithm code from EnrMa.
Updated: January 22, 2018
Made improvements. Changes are in the script header.
Known Issues: AutoIt x64 does not work properly with this script.
WSA_NBTCP.au3 (Windows Sockets API - Non-Blocking Transmission Control Protocol)
This is an accumulation of WSA code from many sources and modified to suit myself.
These functions have been thoroughly tested using a Local Proxy Server, which
is about the most strenuous test you can use.
Includes my rendition of how a TCPRecv Timeout should work. Also includes a
timewait/timeout using Select for TCP Send, which works great for that function.
You will need a loop to use _WSA_TCPRecv(). An example will be forthcoming in a second post.
- AutoIt Versions: 22.214.171.124 thru 126.96.36.199 (32Bit only).
- TCPStartup() at beginning of script on startup.
- TCPShutDown() and _WSA_Cleanup() on exit.
Download UDF: WSA_NBTCP.au3