[Java lista] Socket broken

zamek zamek at vili.pmmf.hu
2008. Júl. 6., V, 17:20:17 CEST


Hello,

Szetguglizom magam es nem talalok hasznalhato megoldast! :(

Van egy tcp socket kliens-em, aminek detektalnia kellene, ha megszakad a 
kapcsolat. Egyszeruen nem talalok mukodo megoldast. 

Egyebkent rendesen mukodik, csak a szakadast nem veszi eszre.

Amit probaltam:
1. Thread+NioSocket. 
	inicializalaskor beallitotm a timeout-ot.

	private void readIncomingMessages() throws IOException, 		         
CharacterCodingException {
        // check for incoming mesgs
        // non-blocking select, returns immediately regardless of how many 
keys are ready
        readSelector.selectNow();
        // fetch the keys
        Set readyKeys = readSelector.selectedKeys();
        // run through the keys and process
        Iterator i = readyKeys.iterator();
        while (i.hasNext()) {
            SelectionKey key = (SelectionKey) i.next();
            i.remove();
            channel = (SocketChannel) key.channel();
            readBuffer.clear();
            // read from the channel into our buffer
            long nbytes = channel.read(readBuffer);
            // use a CharsetDecoder to turn those bytes into a string
            // and append to our StringBuffer
            readBuffer.flip();
            StringTokenizer st = new StringTokenizer(
                    asciiDecoder.decode(readBuffer).toString(), "\n\r");
            while (st.hasMoreElements()) {
                processIncomingMessage(st.nextToken());
            }
            readBuffer.clear();
        }
}

A while-ba be sem megy, nincs exception.

2. Apache Mina. Eszre sem veszi, ha megszakad a kapcsolat, nincs exception. A 
doksija irja, hogy nem konnyu eszrevenni, nezzem meg a Quarz forrasat.

Nem tudom elhinni, hogy ez egy ilyen oriasi problema! Vagy csak en benazok?

-- 
koszi,
 ----------------------------------
 Zoltan Zidarics programmer
 PTE-PMMFK H-7621 Pecs, Boszorkany u. 2. Hungary
 E-Mail: zamek at vili.pmmf.hu
 ----------------------------------


További információk a(z) Javalist levelezőlistáról