while ((nReaded = is.read(buffer)) > 0 && nLeftLength > 0) {}
這個邏輯不對,如果nLeftLength = 0,那就是已經(jīng)讀完了,但是還是執(zhí)行 read,那就阻塞了。
應該改成這樣
while (nLeftLength > 0 && (nReaded = is.read(buffer)) > 0) {}
這個邏輯不對,如果nLeftLength = 0,那就是已經(jīng)讀完了,但是還是執(zhí)行 read,那就阻塞了。
應該改成這樣
while (nLeftLength > 0 && (nReaded = is.read(buffer)) > 0) {}
2016-07-24
講師回答 / 大S醬
應該是遠端post的流里沒有數(shù)據(jù)了但是nleftLength>0一直為true,導致嘗試讀取阻塞在這里,也就是實際上傳的尺寸小于提取的Content-Length大小,可以跟一下這塊數(shù)據(jù)另我已經(jīng)把項目代碼上傳到網(wǎng)盤上,方便大家參考:https://pan.baidu.com/s/1slaiEpJ
2016-07-23