I'm using Delphi 10.2 Tokyo. I have 4 internet sources with 4 LANs. I want to make a program using TNetHttpClient. How do I direct it to use a specific internet source?
How to force bind the IP used by TNetHttpClient with 4 LANs present?
224 views Asked by Blawjack At
1
There are 1 answers
Related Questions in DELPHI
- How can I read the header of request to webserver
- Receiving Notifications for Individual Task Completion OmniThreadLibrary Parallel.ForEach
- Delphi - How to get result of function from QuickReport without viewing a report?
- Out of memory while adding documents to a Firebird BLOB field with Delphi
- How to MakeScreenshot fullpage on Delphi
- How to program a COM object with an IEnumerator, IEnumerable interface inside
- How to Dynamically Add Controls to Delphi Form
- How to write a string in Stringrid with DelimitedText in FMX Delphi 11
- TGrid/TStringGrid multi cell selection / multi editing in delphi firemonkey (12)
- How to localize "Today" in the Delphi TMonthCalendar?
- How can I call a SOAP webserver method in Vue.js?
- Efficiently Handling Large Number of API Calls with Delphi 10.4 and OmniThreadLibrary
- Delphi can not compile the unit create by its "XML Data Binding Wizard"
- Save Form Properties in File and then restore those Properties after reopening
- Is it possible to open a blob without saving it to file
Related Questions in DELPHI-10.2-TOKYO
- How to convert JWK to PEM format in Delphi?
- How to connect Delphi to an external DB?
- Selecting the contents of a cell in an FMX Stringgrid in the same way as you can "SelectAll" in an Edit box
- Enabling High DPI makes TImage smaller at runtime than at design-time
- Delphi TEdgeBrowser and OnNavigate event POST data
- Delphi project compilation error: Packages 'A' and 'B' both contain unit 'C'
- Copy TByteDynArray (array of byte) to string
- Sum and count of grouped records
- Speed up image loading in TImage
- In-memory compression of a Zip file
- TActionClientItem to TAction
- How can I detect when a StringGrid cell value has changed?
- How to force bind the IP used by TNetHttpClient with 4 LANs present?
- Why does the Document_Open Macro not run in Word when opening the document from Delphi using Office Automation
- What is the simplest way to get the RTTI properties in ancestral order?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Unfortunately,
TNetHttpClientdoes not provide the ability to bind it to a specific LAN. If you need this capability, you will have to find another HTTP library that can do this.UPDATE:
After doing some reading, it turns out that on Windows at least, binding a socket for an outbound connection only sets the source IP for the socket's packets, but prior to Vista the actual adapter used for making an IPv4 connection is determined solely by Windows' routing tables, the application can't force a specific IPv4 adapter to be used. But for IPv6 traffic, and for IPv4 traffic on Vista+, binding a socket to a specific adapter should work in most cases.
Q175396: Windows Socket Connection from a Multiple-Homed Computer
Strong and Weak Host Models
Using a specific network interface for a socket in windows
For instance, Indy's
TIdHTTPhas a publicBoundIPproperty for binding its socket to a network interface's IP (on platforms that require an interface name instead, you can use theTIdHTTP.OnSocketAllocatedorTIdHTTP.OnAfterBindevent to call theTIdHTTP.Socket.Binding.SetSockOpt()method, such as for using theSO_BINDTODEVICEoption on Linux).