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: [email protected]
For additional commands, e-mail: [email protected]