Please answer these questions for 2 scenarios.
1. The other user is on a LAN
2. The other user is NOT on the same LAN.

Q1. I have seen code examples where a cmdDisconnect is not coded. Some programs just close with the "End" statement. Other programs close with "sckMain.Close". What's happening in the background with these two statements? Does it really matter which method is being used?

Q2. I think the Host is in a dangerous position. I think that there could be programs out there that look for active programs that are listening (Hosts). They could request a connection. How can I grant access to the correct requester? I hope you are not going to say that I need their IP. I would rather not have that info (probably a very naive statement). Could I use a pswd somehow?

Q3. Are ALL port numbers from 0 to about 64000 really available? Or are there reserved ports, or ports I should stay away from?

Thanks