即使有例外规则,Windows防火墙也会阻止tcp端口

时间:2016-03-22 18:45:03

标签: c# android tcp firewall windows-firewall

我正在开发一个通过tcp套接字与桌面.NET应用程序通信的Android应用程序。但是我遇到了计算机防火墙的问题。应用程序同时充当服务器和客户端,并且它们侦听端口50655。

通讯正常,我可以成功发送从Android到PC,从PC到Android的tcp消息,但只要只要防火墙被禁用

如果我打开防火墙,PC仍然可以向Android发送消息,但Android应用程序会在创建套接字时抛出超时异常:

Socket s = new Socket("192.168.1.116", 50655); // This times out when Firewall is active

是的,我为此端口添加了防火墙例外:

enter image description here

之前我曾经使用过TCP通信,但我只是想不出这个...有没有其他人经历过这样的事情?我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:0)

您是否已将程序添加到防火墙例外?

答案 1 :(得分:0)

请在屏幕截图中打开的窗口中查看以下内容

  1. 在常规选项卡上操作应设置为“允许连接”,并且应选中“已启用”
  2. 在“程序和服务”选项卡上,尝试“符合指定条件的所有程序”
  3. 在“范围”选项卡上,本地IP和远程IP应为“任何IP地址”
  4. 在“高级”选项卡上,检查所有配置文件(私人,公共,域名)
  5. 如果这些都不起作用,您可能有一个不同的阻止规则优先于允许。如果同一端口上有两个规则,则Block优先。试着寻找。

    完成所有这些设置后,它应该可以正常工作。 一旦它正常工作,您可以将开口减少到提高安全性所需的位置。因此,一旦它正常工作,我建议只将其作为特定程序,特定IP(如果可能)以及网络的特定配置文件。