我正在開發基於java的IP語音系統。音頻可以通過發送者和接收者使用線程發回。但是,使用不同的數據報包時,它們會造成一些數據包丟失。因此,我試圖爲發送的每個數據包添加一個標題,以便在接收時更容易識別丟失了哪個確切的數據包,因此我們可以開發一些補償方法。向數據包添加序號(標頭) - VoIP - Java
我已經開始的東西,但我不知道它的豐富思想,總體思路是,以2個字節添加到陣列,並分配這些2個額外的字節的報頭信息,這是一個序列號每個數據包...
Vector<byte[]> voiceVector = new Vector<byte[]>();
int recordTime = 30;
System.out.println("Recording Audio...");
for (int i = 0; i < Math.ceil(recordTime/0.032); i++)
byte[] block = recorder.getBlock();
DatagramPacket packet = new DatagramPacket(fPacket, fPacket.length, clientIP, PORT);
//Send it
sending_socket.send(packet);
voiceVector.add(block);
任何人有任何想法?我知道生病齋創建一個包含語音向量和2個額外的字節一個新的數組,但我不確定如何做到這一點,因爲我havnt在一段時間內使用的Java ...
乾杯
排序和丟失由更高級別的TCP協議覆蓋。另外,我認爲有一箇中介(在TCP和UDP之間)用於VOIP協議的工作,但我不記得這個名字。 – DwB 2012-02-14 19:23:23