You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Jonathan Valliere (JIRA)" <ji...@apache.org> on 2019/05/24 16:00:00 UTC

[jira] [Resolved] (DIRMINA-885) session is closed before the server writes back to the client

     [ https://issues.apache.org/jira/browse/DIRMINA-885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Valliere resolved DIRMINA-885.
---------------------------------------
       Resolution: Won't Do
    Fix Version/s:     (was: 3.0.0-M3)

Half-closed TCP connections are not normal and supporting such would create many complications in the overall design of MINA.  Your application should control the message flow and only close the TCP connection when everything is done.

> session is closed before the server writes back to the client
> -------------------------------------------------------------
>
>                 Key: DIRMINA-885
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-885
>             Project: MINA
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.2
>         Environment: win XP, jdk 1.6.0_23
>            Reporter: Carusyte
>            Priority: Minor
>
> I am using some kind of test tool as client to send arbitrary data, my decoder and handler work correctly as expected, but MINA closes the session before my encoder is called. As I looked into the source code, AbstractPollingIoProcessor seems to schedule a session remove as long as the # of bytes read from the channel == -1 (line 673 and line 706). As per the documentation of java.nio.channels.ReadableByteChannel.read(ByteBuffer dst), this method returns -1 if the channel has reached end-of-stream, but is it really necessary to close the session even before the client receive any response? 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)