急!!!!!!!!急!!!!!!!!急!!!!!!!! I/O输入输出流问题!!!!跪求高手帮忙!!
我做了一个C/S管理系统
1)用户把查询语句通过Socket
String strSQL= "select * from meeting ";
DataOutputStream out=new DataOutputStream(mSocket.getOutputStream());
out.writeUTF(strSQL);
out.flush();
out.close();
传递给数据库服务器
当服务器端口(mSocket)接受到客户的请求便激活以下一个线程
class Server_rankFind extends Thread
{
2)数据库接受此查询语句
DataInputStream in=new DataInputStream(mSocket.getInputStream());
String strSQL=in.readUTF();
in.close();
Resultset rs = 数据库执行(strSQL);
3)数据库执行查询后把放在Vector里的查询集(Resultset rs)通过Socket传递给客户端,以便客户在JTable里显示,语句如下
DataOutputStream dos = new DataOutputStream(mSocket.getOutputStream());
ObjectOutputStream oos = new ObjectOutputStream(dos);
oos.writeObject( mVector);
oos.flush();
}
4)客户接受服务器查询结果(readObject())并在JTable 里显示
问题就出在第三步!!!!!
Vector里已经放好查询数据了,但是就是传不出去(服务器接受客户查询语句却正常),
堵在那了,难道是这两个流在这个端口有相互干涉??还是有其他原因??
我把第一步 第二步去掉,直接在服务器的执行语句里设置
String strSQL= "select * from meeting ";却能在客户的JTable里把查询集正常显示!!!!!
请各位高手帮帮忙!!!!
急死了~~~
------解决方案--------------------ResultSet传过去也没用
它是在真正取数据时才去向数据库要数据的
应该将数据一条一条的取出然后传给客户端
------解决方案--------------------我想你前面的out和in是不是先不要关掉,等第三步完了之后再关掉?