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 2021/07/31 15:18:00 UTC

[jira] [Resolved] (DIRMINA-1137) PortUnreachable not check while writing to socket

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

Jonathan Valliere resolved DIRMINA-1137.
----------------------------------------
      Assignee: Jonathan Valliere
    Resolution: Not A Problem

The operating system is responsible for emitting {{UnreachablePortException}}.  There is no guarantee that you will even get that exception.  You are using a Datagram Socket, which has no guarantee of anything unless you write your program on the receiver side to send back acknowledgments of received data.

You should just switch to using a TCP socket instead.  This will provide you with guaranteed delivery.

> PortUnreachable not check while writing to socket
> -------------------------------------------------
>
>                 Key: DIRMINA-1137
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-1137
>             Project: MINA
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.1.4
>         Environment: Java 1.8, Unix/Windows
>            Reporter: Alexander B
>            Assignee: Jonathan Valliere
>            Priority: Critical
>         Attachments: exceptionstack.png, minatest2.7z
>
>
> Hi guys,
> My intention is to send udp package to a specific ip and port (even if there is not receiver). Me - as the sender - do not have any knowledge about (existing) receivers. After receiving a "unreachable port" package back to myself (because no receiver exists), the session was closed automatically.
> In your class AbstractPollingIoProcessor from lines 1108ff. in such a case a UnreachablePortException was thrown, catched and therefore in line 1112 the session was closed.
> In contrast to this, while reading from a socket (lines 560ff.), you are distinguishing cases with and without the flag CloseOnPortUnreachable from the sessionConfig. [I am not quite sure about my statement here]
> Can you explain, why this was not done at the "writing"-process? Or was there anything I missunderstood?
> Thanks
> Alex



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@mina.apache.org
For additional commands, e-mail: dev-help@mina.apache.org