nio ByteBuffer碰到的問題

2021-10-08 10:00:26 字數 659 閱讀 3701

bytebuffer
1. 

allocate服務端接收不到op_read事件問題

bytebuffer bytebuffer = bytebuffer.allocate(length);

sc.write(bytebuffer);

通過allocate建立的bytebuffer,需要呼叫下filp()方法,不呼叫,server端就監聽不到本次write的op_read事件

bytebuffer bytebuffer = bytebuffer.wrap("welcome".getbytes());

通過wrap方法建立的bytebuffer,沒有這個問題

2. filp後沒資料可讀問題

public final buffer flip() 

public final boolean hasremaining()

看filp原始碼,多次呼叫後,limit會被設定0 

然後呼叫hasremaining,就會返回false,沒有資料可讀

NIO ByteBuffer方法學習

建立heapbytebuffer例項,大小為1024位元組 bytebuffer heapbytebuffer bytebuffer.allocate 1024 建立directbytebuffer例項,大小為1024位元組 這裡的bytebuffer是directbytebuffer,不是heap...

delphi ado oracle碰到難題

delphi ado oracle碰到難題 delphi windows sdk api 伺服器 繁體winxp oracle8i,字符集 zht16big5.客戶機 簡體winxp,字符集原來是 zhs16gbk,現在改為和伺服器一樣的 zht16big5.功能是要在oracle的varchar欄...

delphi ado oracle碰到難題

delphi ado oracle碰到難題 delphi windows sdk api 伺服器 繁體winxp oracle8i,字符集 zht16big5.客戶機 簡體winxp,字符集原來是 zhs16gbk,現在改為和伺服器一樣的 zht16big5.功能是要在oracle的varchar欄...