各位,小弟在尝试使用socket与网络内其他计算机通断测试时,速度奇慢,不知何故,望各位帮助.
代码如下:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;import QzjxxDao;
import Qzjxx;public class MonitorClient {
Socket socket;
BufferedReader in;
PrintWriter out;
long connTime;
Date currTime = new Date();
private ArrayList aList = new ArrayList();
public ArrayList aListOut = new ArrayList();
private Qzjxx qzjxx = new Qzjxx();
private QzjxxDao qzjxxDao = new QzjxxDao();
public MonitorClient() {
try{
aList = qzjxxDao.getQzjxxAll();
for(int i = 0; i < aList.size(); i++){
qzjxx = (Qzjxx)aList.get(i); //获取服务器信息(IP,端口等)
try{
connTime = System.currentTimeMillis();
socket = new Socket(qzjxx.getIp(), Integer.parseInt(qzjxx.getPort().trim()));
connTime = System.currentTimeMillis() - connTime;
socket.close();
qzjxx.setZtbz("正常"); //连接状态
qzjxx.setConnTime(String.valueOf(connTime)); //连接时长
qzjxx.setConnImg("connOk.gif'>"); //连接状态图片
}catch(IOException e){
if (e.getCause() == null){
qzjxx.setZtbz("失败");
qzjxx.setConnTime("Time Out");
qzjxx.setConnImg("connClose.gif'>");
}
}
qzjxx.setCurrTime(DoFormatDate(currTime,true)); //当前连接时间
aListOut.add(qzjxx);
}
}catch (Exception e){
e.getStackTrace();
}
}
/**
* Description : 格式化显示日期型数据
* @param Date dt_in :日期型数据
* boolean bShowTimePart_in : 是否显示时间部分
* @return String 格式化后的日期格式
*/ public String DoFormatDate(java.util.Date dt_in, boolean bShowTimePart_in) {
if (bShowTimePart_in)
return (new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")).format(dt_in);
else
return (new SimpleDateFormat("yyyy-MM-dd")).format(dt_in);
} /**
* @return 返回 aListOut。
*/
public ArrayList getAListOut() {
return aListOut;
} /**
* @param listOut 要设置的 aListOut。
*/
public void setAListOut(ArrayList listOut) {
aListOut = listOut;
}
}
代码如下:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;import QzjxxDao;
import Qzjxx;public class MonitorClient {
Socket socket;
BufferedReader in;
PrintWriter out;
long connTime;
Date currTime = new Date();
private ArrayList aList = new ArrayList();
public ArrayList aListOut = new ArrayList();
private Qzjxx qzjxx = new Qzjxx();
private QzjxxDao qzjxxDao = new QzjxxDao();
public MonitorClient() {
try{
aList = qzjxxDao.getQzjxxAll();
for(int i = 0; i < aList.size(); i++){
qzjxx = (Qzjxx)aList.get(i); //获取服务器信息(IP,端口等)
try{
connTime = System.currentTimeMillis();
socket = new Socket(qzjxx.getIp(), Integer.parseInt(qzjxx.getPort().trim()));
connTime = System.currentTimeMillis() - connTime;
socket.close();
qzjxx.setZtbz("正常"); //连接状态
qzjxx.setConnTime(String.valueOf(connTime)); //连接时长
qzjxx.setConnImg("connOk.gif'>"); //连接状态图片
}catch(IOException e){
if (e.getCause() == null){
qzjxx.setZtbz("失败");
qzjxx.setConnTime("Time Out");
qzjxx.setConnImg("connClose.gif'>");
}
}
qzjxx.setCurrTime(DoFormatDate(currTime,true)); //当前连接时间
aListOut.add(qzjxx);
}
}catch (Exception e){
e.getStackTrace();
}
}
/**
* Description : 格式化显示日期型数据
* @param Date dt_in :日期型数据
* boolean bShowTimePart_in : 是否显示时间部分
* @return String 格式化后的日期格式
*/ public String DoFormatDate(java.util.Date dt_in, boolean bShowTimePart_in) {
if (bShowTimePart_in)
return (new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")).format(dt_in);
else
return (new SimpleDateFormat("yyyy-MM-dd")).format(dt_in);
} /**
* @return 返回 aListOut。
*/
public ArrayList getAListOut() {
return aListOut;
} /**
* @param listOut 要设置的 aListOut。
*/
public void setAListOut(ArrayList listOut) {
aListOut = listOut;
}
}
解决方案 »
- 我在SUN公司的网站下载了J2DK1。4 请问我怎么用它来进行开发?
- 有没有什么方法可以使自己写的class不被别人反编译呀?
- 请高手指教!!
- struts架构当中list列表的实现方法
- 如何提高java代码效率,为提高效率应该避免的编写形式有哪些?
- java计时器在哪儿呀
- 关于类型转换的问题!!!
- 大家帮帮忙~``看看怎么回事~~``谢谢~~```
- 在Java中实现二值化图片转换成二进制数字输出到txt文本中
- java程序中如何为一个while(true)循环记录次数,并跳出循环后显示循环次数
- java.lang.NullPointerException报错【菜鸟上路】
- 点评一下建模工具Enterprise Architect吧?!
建议你使用ping命令,通过ping可以知道远程机器是否可以ping通。