使用socket.io进行Android对等视频传输

时间:2020-03-14 07:11:59

标签: android socket.io webrtc

我正在尝试实现对等视频传输。所以我做了

FileInputStream input = new FileInputStream(new File(UPLOAD_FILE_PATH));
byte[] fileArray = new byte[4095];
int byteSend;
while((byteSend = input.read(fileArray)) != -1) {
            //System.out.println(String.valueOf(fileArray));
            StringBuffer content = new StringBuffer();
            content.append(new String(fileArray));
            JSONObject obj = new JSONObject();
            obj.put("id",i++);
            obj.put("FileArrray",content);
            obj.put("byteSend",byteSend);
            mSocket.emit("mp4", obj);
            byteSendTracker = byteSendTracker+byteSend;
            System.out.println("send"+Arrays.toString(fileArray));
           // output.write(fileArray,0,byteSend);
            Thread.sleep(10);
           }
   output.flush(); 
   input.close(); 

所以我所做的就是将此FileArrray作为String缓冲区发送到节点socket.io 然后从socket.io到另一个连接的客户端

socket.on("mp4",function(data){
   console.log(data.id);
    socket.broadcast.emit("getFile",data);
});

然后在接收方,我只需编写如下文件:

JSONObject obj = new JSONObject(String.valueOf(args[0]));
output.write(obj.getString("FileArrray").getBytes(),0,Integer.parseInt(obj.getString("byteSend")));

我尝试在上传的文件损坏时发送240kb mp4视频。有人能指出我正确的方向吗?

0 个答案:

没有答案