[Java lista] net
   
     Laja     
     laja at freemail.hu
       
    2008. Sze.  8., H, 17:27:08 CEST
    
    
  
Hi!
Kérdésem röviden, hogyan tudom detektálni, hogy egy TCP kapcsolat megszakad?
Bővebben:
Van egy progim (kliens), ami kommunikál TCP-n egy másik progival.
Socket soc = new Socket(host, port);
soc.setSoTimeout(30000);
soc.setSoLinger(true, 30);
			
BufferedReader chis=new BufferedReader(
   new InputStreamReader(soc.getInputStream())
);
PrintWriter chos=new PrintWriter(soc.getOutputStream());
			
chos.println("MUKOGY\n");
chos.flush();
		
//Megvárjuk a választ.
String valasz = chis.readLine();
			
chis.close();
chos.close();
soc.close();
A gond az, hogy ez csak akkor jó, ha a kapcsolatfelvételben vagy azelőtt 
van hiba. Ha már felépült a kapcsolat (másik oldalon volt accept()), 
akkor ha a másik oldalon egyszerűen kilövöm a szervert, akkor a kliens 
végtelenségig vár a chis.readln() paranccsal, hogy majdcsak egyszer 
válaszol a szerver. Hogyan tudok erre valami timeout-ot adni, vagy 
figyelni hogy a kapcsolat él-e még?
Tudom, RTFM, de én csak a setSoTime és setSoLinger-t találtam, de azok 
ezen nem segítettek.
Köszi előre is!
Laja
    
    
További információk a(z) Javalist levelezőlistáról