通常情况下 这样设置socket超时时间
方式1
final Socket socket = new Socket("ip","port");//自动开始连接ip
socket.setSoTimeout(Constants.userRequestOutTime);//设置超时时间
OutputStream outStream = socket.getOutputStream();
方式2
final Socket socket = new Socket();
InetSocketAddress socketAddress = new InetSocketAddress(Constants.ip,
Integer.parseInt(Constants.port));
//设置 超时时间
socket.setSoTimeout(Constants.userRequestOutTime);
socket.connect(socketAddress);//开始连接ip
//
OutputStream outStream = null;
InputStream inStream = null;
但是 发现 在服务端没有开启的情况下 超时时间实际是30s,不是所设置的,结果研究发现
socket.setSoTimeout设置的是读取/输入io流数据时的超时时间
//--
socket.connect(socketAddress, Constants.userRequestOutTime);