0

サーバーなしでファイルを転送できる p2p アプリケーションを設計しました。すべてが正常に動作します。ピア間でファイルを転送できます。しかし、ファイル サイズが 16 MB を超える場合 (転送できる最大のファイルのサイズは 15810 kb でした)、ピアに転送されません。これは私が使用しているコードです:

            private function browseFile(farIds:String = ""):void {
            fIds = farIds;
            file = new FileReference();
            file.addEventListener(Event.SELECT, selectHandler);
            file.browse();
        }

        private function selectHandler(event:Event):void {
            var btn = getChild("browseFile_" + fIds)
            if (btn && btn.alpha) btn.alpha = 0.5;
            file = FileReference(event.target);
            file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            file.addEventListener(Event.COMPLETE, completeHandler);
            file.load();
        }

        private function progressHandler(event:ProgressEvent):void{
            ExternalInterface.call("fileLoadProgress", event.target.name, event.bytesTotal, event.bytesLoaded)
        }

        private function completeHandler(event:Event):void{
            ExternalInterface.call("onFileLoaded")
            var fileData:Object = new Object();  
            fileData.file = event.target.data
            fileData.name = event.target.name;
            var btn = getChild("browseFile_" + fIds)
            if (btn && btn.alpha) btn.alpha = 1;
            sendSomeData(fileData, fIds, "receiveFile");
        }

        public function receiveFile(info:Object, peerID:String):void{
            ExternalInterface.call("alert", "receivedFile")
        }

        private function sendSomeData(data,farIds:String,func:String = "receiveSomeData"):void{
            for(var id:String in sendStreams){
                sendStreams[id].send(func, data, myPeerID);
            }
        }

任意のサイズのすべてのファイルを転送できるようにする方法を教えてください。

ご協力いただきありがとうございます!

4

1 に答える 1