這兩天在做一個基于SOCKET的服務程序,DEBUG狀態下編譯為應用程序,RELEASE下編譯為服務程序。
DEBUG狀態下,程序啟動時防火墻軟件和WINDOWS防火墻都出現是否允許外部連接的請求提示,允許后程序運行正常,本地和外地客戶端都可成功連接。
RELEASE狀態下,用服務控制臺啟動服務,
只出現防火墻軟件的是否允許外部連接的請求提示,WINDOWS防火墻沒有出現請求,默認應該是阻止了外部連接。此時,本地客戶端可以連接成功,但是外部的客戶端無法連接。
后來在好幾臺電腦上運行該服務程序,測試都出現相同的癥狀。因此可以下結論:
WINDOWS防火墻默認攔截SERVICE程序的對外通道。