使用Apache Mina使用UDP将数据发送回客户端

| 我正在使用Apache Mina创建服务器来接受UDP客户端请求。我已经阅读了Apache Mina提供的有关UDP服务器和UDP客户端的官方文档。但是,我希望知道服务器何时收到消息,是否可以使用相同的会话写回UDP客户端(我知道UDP在网络层是无连接的,但是我可以在应用程序层获得远程主机的IP和PORT ),这样UDP客户端会收到一条消息。我知道这可能是TCP,但对UDP有点困惑。我知道这可能不完全基于Java,而是更多基于网络层的问题。如果有人能为我解决这个问题,将不胜感激。     
已邀请:
试试这个你的处理程序类
@Override
public void messageReceived(IoSession session, Object message) throws Exception {
        // response every time get data 
        byte[] b = \"Received\".getBytes();
        final IoBuffer responsebuffer = IoBuffer.allocate(b.length);
        responsebuffer.put(b);
        responsebuffer.flip();
        session.write(responsebuffer);
        SocketAddress remoteAddress = session.getRemoteAddress();

        if (message instanceof IoBuffer) {
            IoBuffer buffer = (IoBuffer) message;
            final CharsetDecoder decoder = getCharsetDecoder(session);
            String receivedMsg = buffer.getString(decoder);
            String data = remoteAddress + \" Received: \" + receivedMsg;
            server.append(data);
        }

    }
    
我得到了相同的答案,并认为我会分享。 UDP是无连接的,但是我可以使用与Apache Mina中相同的会话来写入该会话。我也尝试了它作为示例,并且有效。     
@Override
    public void messageReceived(IoSession session, Object message) throws Exception {

            for (int i = 0; i < session.getService().getManagedSessions().values().toArray().length; i++) {

                IoSession aSession=(IoSession) session.getService().getManagedSessions().values().toArray()[i];
                aSession.write(\"Any Message\");
            }



    }
    

要回复问题请先登录注册