创建通过防火墙可见的本地服务器

时间:2010-08-28 13:29:29

标签: windows sockets firewall

我有一个用C ++编写的本地服务器,使用普通的socket :: accept()和UDP recvfrom()监听入站TCP连接。我有两个问题需要解决:

  • 我可以编程方式让Windows让我打开接受套接字而不会被Windows(软件)防火墙自动阻止吗?
  • 我可以使用哪些端口允许我的数据包通过Windows防火墙和外部防火墙?端口80通常被Skype之类的东西占用,但还有其他东西吗?大多数外部防火墙通常默认允许传入的UDP和TCP在端口80上连接吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

通常,网络路由器需要为侦听端口启用端口转发,防火墙需要打开侦听端口。如果您使用的是启用uPNP的防火墙/路由器,则可以通过uPNP API以可编程方式动态设置这些设置。但更多时候,uPNP被禁用或不可用,需要由firewll /路由器管理员进行手动设置。

答案 1 :(得分:1)

您可能希望查看更有利于桌面环境的内容,例如libjingleSTUN或覆盖网络(如XMPP)等NAT遍历技术。