Socket’s TimeOut

I do not understand what really happens when we set a time out value at Socket download time.

Imagine I set a value of 30 seconds: does it wait 30 seconds even if the download is done ? Or simply wait 30 seconds for the download to end ?
What if I set 60 seconds and the average time to download my items is 25 seconds, will it wait a minute before downloading the next item ?

TIA.

timeout is for times with no response from server.
it’ll stop right away after download finished.