我正在开发一个通过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
是的,我为此端口添加了防火墙例外:
之前我曾经使用过TCP通信,但我只是想不出这个...有没有其他人经历过这样的事情?我在这里错过了什么吗?
答案 0 :(得分:0)
您是否已将程序添加到防火墙例外?
答案 1 :(得分:0)
请在屏幕截图中打开的窗口中查看以下内容
如果这些都不起作用,您可能有一个不同的阻止规则优先于允许。如果同一端口上有两个规则,则Block优先。试着寻找。
完成所有这些设置后,它应该可以正常工作。 一旦它正常工作,您可以将开口减少到提高安全性所需的位置。因此,一旦它正常工作,我建议只将其作为特定程序,特定IP(如果可能)以及网络的特定配置文件。