Мне нужно создать соединение клиент-сервер (в JAVA), где сервер подключен к базе данных, и клиент может отправлять запросы и получать ответы.
Я использую OCSF (доктор Тимоти С. Летбридж) и драйвер JDBC для JAVA.
на стороне сервера у меня есть следующий код
ResultSetMetaData rsmd=rs.getMetaData();
int numOfCols=rsmd.getColumnCount();
String[] tuple=new String[numOfCols];
Vector result=new Vector();
while (rs.next()){
for (int i=1;i<=numOfCols;i++)
tuple[i-1]=rs.getString(i);
result.addElement(tuple);
isResultEmpty=0;
}
if (isResultEmpty==0)
this.sendToAllClients(result);
else
this.sendToAllClients("No appropriate results!");
пока что, похоже, работает нормально, я сделал несколько тестовых распечаток, если цикл for работает нормально.
для клиента, у меня есть следующий код:
public void handleMessageFromServer(Object msg)
{
//clientUI.display(msg.toString());
if (msg instanceof Vector){
Vector result=(Vector)msg;
System.out.println("The result of the query is:\n\n");
//System.out.println((String)result.firstElement());
System.out.println("result size is "+result.size());
for (int i=1;i<=result.size();i++){
System.out.println("here");
System.out.println((String)result.get(i));
System.out.println("here2");
}
}
else
clientUI.display(msg.toString());
}
проблема начинается, когда я пытаюсь распечатать результаты:
первое «здесь» напечатано, и больше ничего не происходит,
он никогда не попадает в «here2», и, кажется, просто прекращает печать и ждет нового ввода.
есть ли проблемы с кастингом, который я делаю?
я просто не могу понять, где именно проблема ....
заранее большое спасибо за помощь