Alexander B created DIRMINA-1171:
------------------------------------

             Summary: 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


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);
}

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);
}

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-unsubscr...@mina.apache.org
For additional commands, e-mail: dev-h...@mina.apache.org

Reply via email to