現在、オブジェクトストリームの最後のオブジェクトは、サーバーから別のデータセットが送信されるまで受信されません。送信されたオブジェクトには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();
}
}
多分、フラッシュがあなたのジャムです。 – duffymo