由于某些原因,我必须在android SocketServer上设置等待与计算机的连接。一切顺利,客户端(计算机)正在创建套接字,但流不会打开。它只是暂停而没有任何错误或消息。
客户端:
s = new Socket(ip, 4567);
ois = new ObjectInputStream(s.getInputStream());
System.out.println("ois..");// not showing, so can't open input stream
oos = new ObjectOutputStream(s.getOutputStream());
System.out.println("oos.."); // same here
服务器:
socket = new ServerSocket(4567);
System.out.println("Waiting for connection,,"); // showing
client = socket.accept();
System.out.println("Connected"); //showing
ois = new ObjectInputStream(client.getInputStream());
System.out.println("ois.."); // not showing
oos = new ObjectOutputStream(client.getOutputStream());
System.out.println("oos.."); // not showing too
System.out.println("Stream,s opened");
我的apk有INTERNET预设。我正在使用4567端口。任何其他应用程序都不会阻止端口。
有什么不对?
答案 0 :(得分:3)
首先尝试在服务器中打开ObjectOutputStream。
socket = new ServerSocket(4567);
System.out.println("Waiting for connection,,"); // showing
client = socket.accept();
System.out.println("Connected"); //showing
oos = new ObjectOutputStream(client.getOutputStream());
ois = new ObjectInputStream(client.getInputStream());
System.out.println("Stream,s opened");
答案 1 :(得分:2)
我没有看到任何超时,这就是它停止的原因。
可能存在一些网络问题;你验证了设备的IP地址是否正确?
这不太可能,但可以成为阻止连接的防火墙规则。