0
我正在使用javas NIO软件包构建一个非阻塞服务器,并对验证接收到的数据有几个问题。验证在非阻塞服务器中收到的数据
我注意到,当我调用套接字通道读取时,它会尝试填充正在读取的字节缓冲区(按照文档)。当我从客户端向服务器发送10个字节时,服务器会将这10个字节读入字节缓冲区,字节缓冲区中剩余的字节将保持为零,并且从读取操作返回的数字将为即使客户端只写了10个字节,我的字节缓冲区的大小。
我想弄清楚的是,如果有一种方法可以获得当服务器从套接字通道(在上述情况下,而不是1024)读取客户端发送到服务器的字节数。
如果这不起作用,我知道我可以通过使用分隔符与我的“指令集头”一起使用分隔符,将来自客户端的所有实际接收到的数据从存储在字节缓冲区中的“过量”数据中分离出来,但它似乎应该存在,所以我不得不怀疑,如果我只是错过了一些明显的东西,或者如果有一些低层次的原因,为什么不能这样做。
谢谢:)
嘎!你是对的,我现在觉得自己像个傻瓜! 谢谢 – vimalloc 2010-07-15 20:01:22