簡體   English   中英

Java NIO SocketChannel讀取預定義的字節數

[英]Java NIO SocketChannel read pre-defined bytes number

我有一個Java NIO套接字服務器。

服務器從遠程客戶端獲取JSONObjects 我正在使用SocketChannel.read(ByteBuffer)方法來讀取通道。 每條消息都以'\\ n'結尾,標志着當前消息的結束。

我的問題是有時read()方法讀取更多的字節並在'\\ n'之后到達..有沒有辦法讓我只能從SocketChannel讀取,直到找到'\\ n'? 我想也許逐字節讀取(我只是找不到如何實現它的文件..)?

還有其他方法嗎?

處理ByteBuffer中的字節直到並包括'\\ n',因此緩沖區的位置是'\\ n'之后的第一個字節,然后調用ByteBuffer.compact() 超過'\\ n'的任何字節都將保留在緩沖區中,下一次讀取將附加到它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM