直播網站原始碼,接收方收到的資訊等於緩衝區長度

zhibo系統開發發表於2023-04-10

直播網站原始碼,接收方收到的資訊等於緩衝區長度

原因分析:

實際上是建立字串時設定獲取資料包的長度不正確,長度不應使用data.length

byte[] data = packet.getData();
String s = new String(data, 0, data.length);


解決方案:

改用packet.getLength() 即可解決

public void receivePackage() {
        while(true) {
            byte[] buf = new byte[1024];
            DatagramPacket packet = new DatagramPacket(buf, 0, buf.length);
            try {
                socket.receive(packet);
                byte[] data = packet.getData();
                String s = new String(data, 0, packet.getLength());
                Log.d(TAG, "receivePackage: " + s);
                if(s.equals("BYE")) break;
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        socket.close();
    }


 以上就是直播網站原始碼,接收方收到的資訊等於緩衝區長度, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2944705/,如需轉載,請註明出處,否則將追究法律責任。

相關文章