我创建了一个TCP侦听器,它继续在单独的线程上侦听挂起的请求。如果客户端与服务器连接,则每个客户端在不同的线程上提供服务。最初我开始使用控制台应用程序来启动监听器(虽然它不合适,但我将它用于测试目的)。启用控制台应用程序和防火墙后,Windows提示我允许访问该应用程序。后来客户端和服务器之间的通信在不同的IP上是成功的。后来我把我的申请作为winservice。但是现在windows并没有促使我允许访问。现在我无法从不同的IP进行通信。本地主机工作正常。有什么帮助吗?
答案 0 :(得分:0)
您需要在Windows防火墙中添加一个条目以允许传入流量。 见http://technet.microsoft.com/en-us/library/cc753558.aspx
编辑:
netsh
是一个用于更改网络设置的命令行实用程序。添加防火墙规则以接受从任何地方到某个本地端口的流量:
netsh advfirewall firewall add rule name="Rule name for future reference" dir=in action=allow protocol=tcp localport=12345 enable=yes profile=any "description=Description visible to the user"
删除规则:
netsh advfirewall firewall delete rule name="Rule name for future reference"
要从MSI安装程序运行脚本,请查看this question