如何使用Apache MINA从套接字读取二进制数据?

时间:2012-03-28 22:32:29

标签: java sockets apache-mina

我知道服务器在连接到它并发送几个字节后发送MP3流。如何用Apache MINA读取它的传输?你能提供任何例子吗?

1 个答案:

答案 0 :(得分:5)

您需要客户端从服务器读取数据。如果可以与服务器建立TCP连接,您可以从Apache MINA TCP客户端上的this tutorial获得帮助

[UPDATE] 数据将在ClientSessionHandlermessageReceived中收到。您可以根据需要覆盖此功能。您可以通过SumUp示例完全理解它。

[更新2] 要在您的情况下接收字节,您必须稍微更新会话处理程序的messageReceived。您可以使用IoBuffer来读取字节。像这样:

public void messageReceived(IoSession session, Object message) {

            if (message instanceof IoBuffer) {

                IoBuffer buffer = (IoBuffer) message;
                byte[] b = new byte[buffer.remaining()];
                buffer.get(b);
            }
    }