В настоящее время я не получаю последний объект из моего потока объектов, пока с сервера не будет отправлен другой набор данных.Отправленные объекты имеют либо 1,2, либо 3 int, чтобы указать, являются ли они первым средним или последним пакетом.Я отправил эти объекты в массив и проанализировал это в отладчике, он показывает, что последний пакет не проходит до тех пор, пока первый не будет отправлен снова.
Это код сервера:
public void telleveryone(Object message){
Iterator it = clientOutputStream.iterator();
while(it.hasNext()){
try{
ObjectOutputStream everyone = (ObjectOutputStream)it.next();
everyone.writeObject(message);
everyone.flush();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
Это код получения на клиенте:
public void run() {
try{
sock = new Socket("10.42.34.46", 1337);
InputStream is = sock.getInputStream();
ois = new ObjectInputStream(new BufferedInputStream(is));
OutputStream os = sock.getOutputStream();
oops = new ObjectOutputStream(os);
while(true){
serverDraw = (com.DrawTastic.Drawring) ois.readObject();
test.add(serverDraw);
}
}catch(IOException ex){
ex.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}