第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

從套接字使用輸入流讀取器接收 utf-8 字符串?

從套接字使用輸入流讀取器接收 utf-8 字符串?

鴻蒙傳說(shuō) 2022-09-28 10:28:26
我正在嘗試使用此代碼從設(shè)備接收字符串:        byte[] buf = new byte[4];        int read = inFromDevice.read(buf);        Logger.getLogger(Utill.class.getName() + " DEBUG_ERR01").log(Level.INFO, "Bytes read: {0}", read);        int msgLength = ByteBuffer.wrap(buf).getInt();        Logger.getLogger(Utill.class.getName() + " DEBUG_ERR01").log(Level.INFO, "Message length: {0}", msgLength);        Reader r = new InputStreamReader(inFromDevice);        char[] cb = new char[msgLength];        int actualCharsRead = r.read(cb);        Logger.getLogger(Utill.class.getName() + " DEBUG_ERR01").log(Level.INFO, "Actual chars read: {0} char array length: {1}", new Object[]{actualCharsRead, cb.length});        String msgText = String.valueOf(cb, 0, cb.length);        Logger.getLogger(Utill.class.getName() + "Messages Loggining recieve: ").log(Level.INFO, msgText);        return msgText;從設(shè)備中和輸入流從接受的服務(wù)器插槽中獲取。代碼大部分時(shí)間都在工作并返回消息,但有時(shí)我收到的消息小于msgLength(根據(jù)協(xié)議是錯(cuò)誤的)日志中的一個(gè)示例是Actual chars read: 1020 char array length: 1391我認(rèn)為由于網(wǎng)絡(luò)問(wèn)題或設(shè)備出現(xiàn)問(wèn)題,問(wèn)題是外部的,但我需要一些專家見解。Java中是否有任何已知問(wèn)題可能導(dǎo)致這種情況?
查看完整描述

1 回答

?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

將僅阻塞,直到它可以將一個(gè)字符讀入緩沖區(qū)或檢測(cè)到 EOF。不能保證緩沖區(qū)將被填滿。InputStreamReader

如果您的協(xié)議指示要發(fā)送的字符串的長(zhǎng)度,則接收方需要循環(huán),跟蹤剩余的字符數(shù),直到全部被讀取。


查看完整回答
反對(duì) 回復(fù) 2022-09-28
  • 1 回答
  • 0 關(guān)注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)