String result = null;
Socket client = new Socket();
//DataInputStream inputS = null;
//PrintWriter outputS = null;
try {
client.setSoTimeout(100);
client.connect(new InetSocketAddress(irpServerIP,irpServerPort),100);
//client = new Socket(irpServerIP, irpServerPort);
DataInputStream inputS = new DataInputStream(client.getInputStream());
PrintWriter outputS = new PrintWriter(client.getOutputStream());
// System.out.println("发送:" + message);
outputS.println(message);
outputS.flush();
/*
* StringBuffer mess = new StringBuffer(); for (int i = 0; i <
* b.length; i++) { mess.append((char) b[i]); } result =
* mess.toString();
*/
result = inputS.readLine();
System.out.println("接收:" + result);
outputS.close();
inputS.close();
client.close();
} catch (SocketTimeoutException e) {
if (!client.isClosed() && client.isConnected()) {
result = "-1";
System.out.println("读取数据超时!");
} else {
result = "-2";
System.out.println("连接超时!");
}
return result;
} catch (Exception e) {
result = "-3";
System.out.println("连接错误!");
return result;
}
return result;始终没有进SocketTimeoutException这个异常,麻烦各位看下!!!
Socket client = new Socket();
//DataInputStream inputS = null;
//PrintWriter outputS = null;
try {
client.setSoTimeout(100);
client.connect(new InetSocketAddress(irpServerIP,irpServerPort),100);
//client = new Socket(irpServerIP, irpServerPort);
DataInputStream inputS = new DataInputStream(client.getInputStream());
PrintWriter outputS = new PrintWriter(client.getOutputStream());
// System.out.println("发送:" + message);
outputS.println(message);
outputS.flush();
/*
* StringBuffer mess = new StringBuffer(); for (int i = 0; i <
* b.length; i++) { mess.append((char) b[i]); } result =
* mess.toString();
*/
result = inputS.readLine();
System.out.println("接收:" + result);
outputS.close();
inputS.close();
client.close();
} catch (SocketTimeoutException e) {
if (!client.isClosed() && client.isConnected()) {
result = "-1";
System.out.println("读取数据超时!");
} else {
result = "-2";
System.out.println("连接超时!");
}
return result;
} catch (Exception e) {
result = "-3";
System.out.println("连接错误!");
return result;
}
return result;始终没有进SocketTimeoutException这个异常,麻烦各位看下!!!
解决方案 »
- struts2 拦截器中用到spring中的bean,拦截器要怎么配置?
- 我是大学JAVA初学者 希望大家给我点发展建议
- Tomcat下Oracle连接池问题!
- ssh项目不知道jar包原因还是代码错误,急求解答!!
- 要崩溃了 JBoss启动的错误
- 两句完全正确的HQL语句,为什么一个行一个不行?
- 开发hibernate出现 No TransactionManagerLookup configured (in JTA environment, use of process level read-write cache is not recom
- Struts新手问题
- 如何把业务逻辑中得到的数据显示JSP页面中。
- js文件不能热部署了
- java远程备份mysql
- 关于js中方法之间的互调
DataInputStream 好像是字节流吧~~ PrintWriter 是字符流你改成 InputStreamReader 试试自己打断点调试一下吧~~~
String message, int tradeTimeOut) throws IOException {
String result = null;
Socket client = new Socket();
//DataInputStream inputS = null;
//PrintWriter outputS = null;
try {
client.setSoTimeout(tradeTimeOut);
client.connect(new InetSocketAddress(irpServerIP,irpServerPort),tradeTimeOut);
//client = new Socket(irpServerIP, irpServerPort);
DataInputStream inputS = new DataInputStream(client.getInputStream());
PrintWriter outputS = new PrintWriter(client.getOutputStream());
// System.out.println("发送:" + message);
outputS.println(message);
outputS.flush();
/*
* StringBuffer mess = new StringBuffer(); for (int i = 0; i <
* b.length; i++) { mess.append((char) b[i]); } result =
* mess.toString();
*/
result = inputS.readLine();
System.out.println("接收:" + result);
outputS.close();
inputS.close();
client.close();
} catch (SocketTimeoutException e) {
if (!client.isClosed() && client.isConnected()) {
result = "-1";
System.out.println("读取数据超时!");
} else {
result = "-2";
System.out.println("连接超时!");
}
return result;
} catch (Exception e) {
result = "-3";
System.out.println("连接错误!");
return result;
}
return result;
}
其实就是这个方法,tradeTimeOut是从数据库里度的规定的超时时间,好像是30000毫秒。麻烦帮忙看下呢。
你可以让服务端的程序在响应之前先Thread.sleep(300);
然后再看看!