> As far as I understand the way NIO works, when the clinet has brutally closed 
> the connection (ie, no FIN), the selector won't be informed about any 
> modification regarding this socket, so its SelectionKey  will never be 
> returned on a select() operation.
>
just for curiosity, is this different from a blocking socket
connection ? i mean, is there something different for NIO that it cant
detect a disconnected client but a blocking server can ?

On Tue, Jan 12, 2010 at 4:17 AM, Emmanuel LŽcharny <[email protected]> wrote:
>
> Patrick Sansoucy a écrit :
>>
>> Sorry to jump on the thread, but I'm a bit surprised by (and curious about) 
>> the behavior exposed here and the fact that Mina does not detect it ...
>>
>> Is the connections between your 2 boxes direct (ie no proxy or firewall) 
>> because I witnessed a couple of years ago the exact same behavior with one 
>> of our application and we found out that the issue was that a proxy was 
>> leaving the socket hanging there making the client or server think it was 
>> still active.
>>
>> From what I remember from our diverse implementation at work (I am not 
>> familiar with Mina's inner working). I think the poll would indicate 
>> something occurred and a read confirm the socket closing (cleanly or not).
>
> As far as I understand the way NIO works, when the clinet has brutally closed 
> the connection (ie, no FIN), the selector won't be informed about any 
> modification regarding this socket, so its SelectionKey  will never be 
> returned on a select() operation.
>
> I any case, we don't poll.
>
> Am I missing something ?

Reply via email to