nio频道:拆分消息

时间:2015-12-13 17:43:07

标签: java nio socketchannel

我有一个Client-Server java nio应用程序。在某些情况下,我需要处理这样的情况:

服务器上的

                SocketChannel socketChannel = (SocketChannel) key.channel();
                for (int i=0;i<30;i++){
                    String message = "message: "+i;
                    ByteBuffer messageBuffer = ByteBuffer.wrap(message.getBytes());
                    socketChannel.write(messageBuffer);
                }

并在客户端:

while (true){
            try {
                int bytesreadden= channel.read(buffer);
                if (bytesreadden >0){
                    System.out.println(new String(buffer.array(),0,buffer.position()));
                    buffer.clear();
                }
            }catch (IOException e){}
        }

在我的情况下,客户端中的这30条消息似乎是一条重要信息。http://i.imgur.com/hy8PsRj.png

那么,处理这种情况的最佳解决方案是什么?谢谢!

0 个答案:

没有答案