1

我创建了一个 TCP 侦听器,它继续在单独的线程上侦听挂起的请求。如果客户端与服务器连接,则每个客户端都在不同的线程上提供服务。最初我开始使用控制台应用程序来启动侦听器(虽然它不适合,但我将它用于测试目的)。打开控制台应用程序和防火墙后,Windows 提示我允许访问该应用程序。然后在不同IP上的客户端和服务器之间的通信是成功的。后来我将我的应用程序设置为winservice。但是现在windows没有提示我允许访问。现在我无法从不同的 IP 进行通信。本地主机工作正常。有什么帮助吗?

4

1 回答 1

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 安装程序运行脚本,请查看此问题

于 2013-08-02T04:59:03.087 回答