套接字仅在防火墙关闭时有效

时间:2015-06-28 15:51:36

标签: java android sockets server

我有一个简单的客户端 - 服务器脚本设置,它允许我从我的Android设备发送消息到我的电脑。计算机服务器脚本是这样的 -

ServerSocket server = new ServerSocket(9000);
Socket socket = server.accept();
//read from socket to ObjectInputStream object
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
//convert objectinputstream to string
String message = (String)ois.readObject();
System.out.println("Message received: " + message);
ois.close();
socket.close();

Android代码是这样的(请注意,此代码作为异步任务运行) -

socket = new Socket( "10.69.23.11",9000);
//write to socket using Objectouputstream

oos = new ObjectOutputStream(socket.getOutputStream());

oos.writeObject(msg);

oos.close();

此代码有效,几周前我对其进行了测试。但从我从java 1.7升级到1.8后的上周开始,此代码不再有效。如果我完全关闭防火墙,此代码将再次开始工作。我明确添加了入站和出站规则,以便将端口9000作为tcp通过,但它仍然不能与防火墙一起使用。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

事实证明防火墙以某种方式阻止了我的日食。我进入Windows控制面板,让微软诊断我一个解决方案。从来没有想到它,但他们正确识别它并通过绕过防火墙自动修复问题。