Is it possible to limit internet speed through Delphi? Example, if my internet is 120 KB / s, can I reduce it to 10 KB / s on my own computer?
Is it possible to limit internet speed through Delphi? Example, if my internet is 120 KB / s, can I reduce it to 10 KB / s on my own computer?
The obvious answer is yes, if your application takes control of all packets arriving on your network interface before being processed you can control and take actions (block, speed limit, redirect, etc.) p>
The basic idea of a band limiter is very simple, you queue the packets that arrive in a buffer, the bandwidth is simply the time each packet gets in this buffer before being processed, this tells us that the larger the wait time of the smaller package will be your transfer rate and of course the reciprocal is true, an easy analogy to visualize is you imagine a full tank of water, take off the tank lid for the water to drain, the time it will take to the water seeping will depend on the size of the runoff.
You will need to know the speed of your network card (flow hole) in order to calculate the waiting time of each packet in the buffer. Of course this is an extremely simplistic approach just so you can get a basic insight into how any band limiter works. Remembering that this type of implementation limits the entire network card, so the internet and internal network will be treated in the same way, if you want to keep your internal network out of bandwidth, identify all the packets in your internal IP class and keep them out of the queue.