You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Alexander B (Jira)" <ji...@apache.org> on 2023/04/19 11:34:00 UTC

[jira] [Closed] (DIRMINA-1171) DatagramAcceptor and their Sessions

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

Alexander B closed DIRMINA-1171.
--------------------------------
    Resolution: Not A Problem

> DatagramAcceptor and their Sessions
> -----------------------------------
>
>                 Key: DIRMINA-1171
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-1171
>             Project: MINA
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.1.5
>         Environment: Win10, Adopt OpenJDK 8
>            Reporter: Alexander B
>            Priority: Major
>
> Hello,
> I am using two independently created NioDatagramAcceptors, which are created by the following code :
> {code:java}
> AbstractIoService inputSource = new NioDatagramAcceptor();
> ((NioDatagramAcceptor) inputSource).getSessionConfig().setReuseAddress(true);
> DefaultIoFilterChainBuilder filterChainBuilderUDP = ((NioDatagramAcceptor)inputSource).getFilterChain();
> filterChainBuilderUDP.addLast("logger", new LoggingFilter());
> ((NioDatagramAcceptor) inputSource).getSessionConfig().setIdleTime(IdleStatus.READER_IDLE, getIdleTimeout());
> ((NioDatagramAcceptor) inputSource).setHandler(this);
> try {
> 	((NioDatagramAcceptor)inputSource).bind(new InetSocketAddress(port));
> } catch (IOException e) {
> 	log.error("Failed to connect {}", e);
> }
> {code}
> One Acceptor is listening on port 9800, the other one on 9801. If I now send UDP packages (from a external application) to both ports (independently). It seems, that the received messages is randomly handled on session1 and session2.
> Information: The external app is sending:
> Message "TEST_1" just to port 9800
> Message "TEST_2" just to port 9801
> The overrided method messageReceived will give the following output:
> {code:java}
> public void messageReceived(IoSession session, Object message) throws Exception {
> 	String msgStr = message.toString();
> 	log.info("SessionId:" + session.getId() + " " + msgStr);
> }
> {code}
> 2023-04-19_09:34:43.629 [NioDatagramAcceptor-2] INFO - SessionId:1 TEST_1
> 2023-04-19_09:34:43.629 [NioDatagramAcceptor-3] INFO - SessionId:1 TEST_2
> 2023-04-19_09:34:47.415 [NioDatagramAcceptor-2] INFO - SessionId:2 TEST_1
> 2023-04-19_09:34:47.415 [NioDatagramAcceptor-3] INFO - SessionId:2 TEST_2
> So either it seems, that this happens randomly or crosswise (each message from each port n-times to all sessions)
> I can not see this effect while using `NioSocketConnector`. Is there anything I did not mention in the context of UDP/DatagramAcceptor?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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