亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于nio中的SocketChannel.read()方法原理

關于nio中的SocketChannel.read()方法原理

慕絲7291255 2019-03-07 22:19:41
發起請求的代碼:SocketChannel socketChannel = SocketChannel.open(); socketChannel.connect(new InetSocketAddress("http://www.test.com", 80));1)如果請求返回的數據總量是1000byte;這時這1000byte是不是已經返回到客戶端了? 從SocketChannel中讀取數據:int bytesRead = socketChannel.read(buf); 2)如果buf大小是1byte,只執行一次read方法后,那剩余的999byte數據在哪里呢?
查看完整描述

2 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

1、tcp是流式管道,可能你讀取的時候只有一部分數據返回了,一部分還在路上,read返回的時候說明有數據到來或者超時
2、buffer小的話,對端發送的數據可能存在系統tcp協議的緩沖里,直到緩沖區填滿

查看完整回答
反對 回復 2019-04-30
  • 2 回答
  • 0 關注
  • 2453 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號