quote:
Well i don't think you need ports open to download. Or am i wrong?
The sender is actually the server of the transfer, so you must have an open port when you send files, but that is not needed when you receive files.
quote:
this is possible.... this is what many programs do.... and this is exactly why some firewalls (or internet security programs) popup a message like "do you want this programs to be able to access this or that"....
That usually happens when the firewall detects the "open" request by the application to the winsock API. For example, the firewall in WinXP Service Pack 2 already asks if you want to open ports for the plugin. I'll search if there are more APIs to help opening ports in the firewalls.
About the NAT problem, the only way for the plugin to detect automatically your external IP address is to get it from a special website that tells the IP of your connection (it's the same approach of those external IP detectors plugins). It's not hard to make it, however it's not 100% reliable since the website may me down sometimes.
Another possibility is to allow the user to add a hostname from dynamic IP services such as no-ip.com, so the plugin gets it by querying the hostname's IP.
The third (and worst) option is to manually enter your IP. I think I'll add all these options, so it's more flexible.
Thanks for all your feedback