这两天在做一个基于SOCKET的服务程序,DEBUG状态下编译为应用程序,RELEASE下编译为服务程序。
DEBUG状态下,程序启动时防火墙软件和WINDOWS防火墙都出现是否允许外部连接的请求提示,允许后程序运行正常,本地和外地客户端都可成功连接。
RELEASE状态下,用服务控制台启动服务,
只出现防火墙软件的是否允许外部连接的请求提示,WINDOWS防火墙没有出现请求,默认应该是阻止了外部连接。此时,本地客户端可以连接成功,但是外部的客户端无法连接。
后来在好几台电脑上运行该服务程序,测试都出现相同的症状。因此可以下结论:
WINDOWS防火墙默认拦截SERVICE程序的对外通道。