I have need to open a socket to grab packets from an outside server. I have many questions about this undertaking.

The socket needs to transfer data back and forth between the client and the server.

* Is there an easy framework for this in MFC?
* Static vs. Dynamic port requests.... Should we use the same port each time we run the application? Or should we use dynamic ports?
* If we use dynamic, does that mean the Windows firewall will pop up a message saying "Hey, please verify that you want this app to access the internet?
* If we use static ports, how can we gaurantee that no other app is using the same port when we request it the first time.
* If we use static ports, how do we prevent other applications from stealing our assigned port?
* Do developers usually go to the firewall makers and try to get their applications pre-approved?
* Is there a way to be 'pre-approved' for most firewalls?

Spyware Questions (we certainly aren't spyware, we just want to make sure we're not labeled as such):
* Are there any certification programs you can go through to verify your app is not spying?
* Are these effective in terms of convincing users you're a good person?
* Same kinda question as above, is there a way to get pre approved for spyware companies and let them know who you are so they won't label you as such.
* Any other hints in terms of not being labeled this app-killing adjective?

Thanks very much in advance!