2010-08-28 84 views
1

我有一個本地服務器用C++編寫的監聽入站TCP連接使用純socket :: accept()和UDP recvfrom()。我有兩個問題需要解決:創建本地服務器通過防火牆可見

  • 我可以通過編程讓Windows打開接受套接字而不會自動被Windows(軟件)防火牆阻止嗎?
  • 有沒有我可以使用的端口,允許我的數據包通過Windows防火牆和外部防火牆?端口80通常被Skype等東西佔用,但還有其他嗎?大多數外部防火牆通常默認允許端口80上的傳入UDP和TCP連接?

謝謝!

回答

1

您可能想要查看一些更有利於桌面環境的東西,例如libjingle,STUN或覆蓋網絡(如XMPP)等NAT穿越技術。

+0

有趣的東西,我從來沒有聽說過;將研究它。 – 2010-08-29 16:00:24

1

一般情況下,網絡路由器需要端口轉發啓用偵聽端口,防火牆需要打開偵聽端口。如果您使用的是啓用uPNP的防火牆/路由器,則可以通過uPNP API可編程地動態設置這些設置。但是更多的時候,uPNP被禁用或不可用,需要由firewll /路由器管理員手動設置。