مشکل عجیب غریبی که هنگام استفاده از
input=new ObjectInputStream(socket.getInputStream());
که نه اشتباهی در کد هست و نه در کامپایل!
ولی همینجا برنامه متوقف میشه.
من اول این کد رو برای سرور نوشتم :
try {
input=new ObjectInputStream(s.getInputStream());
System.out.println("Client : OBJ IN Created!");
output=new ObjectOutputStream(s.getOutputStream());
System.out.println("Client : OBJ OUT Created!");
} catch (IOException ex) {
Logger.getLogger(ClientWin.class.getName()).log(Le vel.SEVERE, null, ex);
}
و شبیه به همین برای کلاینت. اما هنگ میکرد.
بعد اومدم جای output رو با input عوض کردم، درست شد و برنامه اجرا میشد و هنگ نکرد :
try {
output=new ObjectOutputStream(s.getOutputStream());
System.out.println("Client : OBJ OUT Created!");
input=new ObjectInputStream(s.getInputStream());
System.out.println("Client : OBJ IN Created!");
} catch (IOException ex) {
Logger.getLogger(ClientWin.class.getName()).log(Le vel.SEVERE, null, ex);
}
البته توضیحی بدم که برای سرور اگه جابه جا نکنی، برنامه هنگ میکنه. ولی برای کلاینت فرقی نمیکنه، هر کدوم رو بنویسی جواب میده!
به هر حال نمیدونم مشکل از چیه، ولی راه حلی موقتی خوبی بود. تو stackoverflow.com هم با چنین مشکلی روبرو شده بودن ولی متوجه توضیحاتشون نشدم.
حالا این راه حل عجیب غریبش، ولی من میخوام دلیلش رو بدونم چرا این اتفاق افتاده؟