UART Flow control

Hi! I want to implement flow control in COM3. I’ve read that there are two types, hardware and software.

Hardware only needs two more wires, software needs an implementation, doesn’t it? Which is the best one?

Using hardware one, how do serial port know when it is ready to receive new info? Can I take control over this?

Are there any samples about it available?

Thanks!!

If you can have 2 additional wires, then hardware is suitable. It is called RTS/CTS handshaking (Request to send, Clear to send) IEEE 802.11 RTS/CTS - Wikipedia

I never used software handshaking myself. It sends XON/XOFF characters when the input buffer is almost full or if there is enough free space in the input buffer.
http://www.lammertbies.nl/comm/info/RS-232_flow_control.html