| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jul 2002
Beiträge: 17
| XMLSocket bricht Verbindung ab
Hallo, ich habe eine Flex-Applikation, die sich mit einem lokalen Server verbindet: serialServer=new XMLSocket;Klappt alles wunderbar. Beide können Daten senden und empfangen. Jetzt habe ich diesen Code auf AIR umgestellt. Nun bricht die Verbindung scheinbar nach kurzer Zeit ab. Ich fange alle Events des XMLSocket ab und bekomme keine Fehler. Ich bekomme die erfolgreiche Verbindung bestätigt mit: [Event type="connect" bubbles=false cancelable=false eventPhase=2]Die Verbindung steht dann ca. 1 Sekunde, in der ich gut 10 Nachrichten vom Server zum Client schicken kann. Bis zum Abbruch bekomme ich mit serialServer.connected ein true. Der Java-Server bringt dann die Fehlermeldung: java.net.SocketException: Broken pipeWie gesagt, der gleiche Code mit Flex funktioniert und der Empfang der Nachrichten vom Server wird nicht beendet. Eine Sicherheitseinstellung (<policy-file-request>) sollte es nicht betreffen, da ich lokal verbinde und die Verbindung ja auch zustande kommt. Danke für Tipps... |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Aug 2009
Beiträge: 5
|
Hallo jweber, hast das Problem lösen können? ich schreibe gerade meine Diplomarbeit, und teste dafür Air-Technologie. leider habe ich nicht herausfinden können, wie ich mit meine Air-Applikation die Dateien von dem Server herunterladen kann und genauso hochladen kann.hast du eventuell einen Lösungsvorschlag für mich. Ich komme hier nicht weiter... ![]() Danke im Voraus |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Aug 2009
Beiträge: 5
|
Code ist ziemlich einfach, ich stelle die Verbindung her, wen die existiert suche ich eine Datei und schicke diese an den Server wo eine php lieg <?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="551" height="141" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.controls.Alert; import air.net.URLMonitor; import air.update.events.UpdateEvent; import air.update.ApplicationUpdaterUI; //Dateifilerttypen für Datenupload public var imageTypes:FileFilter = new FileFilter("Images (*.jpg; *.jpeg; *.gif; *.png)" ,"*.jpg; *.jpeg; *.gif; *.png"); public var videoTypes:FileFilter = new FileFilter("Video Files ( *.flv; *.avi; *.wmv; *.mpeg; *.mov)","*.flv; *.avi; *.wmv; *.mpeg; *.mov"); public var documentTypes:FileFilter = new FileFilter("Documents (*.pdf), (*.doc), (*.rtf), (*.txt)","*.pdf; *.odt; *.doc; *.rtf; *.txt"); public var compressedTypes:FileFilter = new FileFilter("Compressed Files(*.zip; *.rar)","*.zip; *.rar"); public var otherTypes:FileFilter = new FileFilter("Other Files(*.swf)","*.swf"); public var filesToFilterProjectFile:Array = new Array(imageTypes, videoTypes, compressedTypes, documentTypes, otherTypes ); [Bindable] public var projectUploadFile_ref:FileReference = new FileReference(); //For Connention private var monitor:URLMonitor; public function init():void{ //check for connenction monitor = new URLMonitor(new URLRequest("http://xserver....de/test/")); //every 3 seconds monitor.pollInterval = 3000; //check for Status monitor.addEventListener(StatusEvent.STATUS,announ ceStatus); monitor.start(); } private function announceStatus(e:StatusEvent):void { if(monitor.available) statusTxt.text = "HTTP-Verbindung besteht!"; else statusTxt.text = "no connenct!"; } private function onNetworkChange(event:Event):void{ Alert.show("Netzwerkverbindung wurde geändert!", "Info"); } private function onError(errror:ErrorEvent):void{ trace("Error"); } /** searchProjectFile */ public function searchProjectFile():void { projectUploadFile_ref = new FileReference(); projectUploadFile_ref.addEventListener( Event.SELECT, uploadProjectFileSelected ); projectUploadFile_ref.browse( filesToFilterProjectFile ); // Feld loeschen tip_projectPath.text = ''; // Button enable false setzen btn_projectFileUpload.enabled = false; } /** uploadProjectFileSelected */ private function uploadProjectFileSelected( event:Event ):void { var fileSizeLimit:uint = 1024*1024*100; if (projectUploadFile_ref.size > fileSizeLimit) { Alert.show('Die Datei ist leider zu gross, die darf höchstens ' + fileSizeLimit / 1024 /1024 + 'MB groß sein.', 'Fehler beim Hochladen'); return; } tip_projectPath.text = projectUploadFile_ref.name; btn_projectFileUpload.enabled = true; } /** uploadProjectFile */ private function uploadProjectFile():void { var sendVars:URLVariables = new URLVariables(); var request:URLRequest = new URLRequest(); sendVars.action = "uploadProject"; request.data = sendVars; request.url = "http://xserver......de/...upload.php"; request.method = URLRequestMethod.POST; projectUploadFile_ref.upload( request,"file", false ); projectUploadFile_ref.addEventListener( ProgressEvent.PROGRESS, onProjectUploadProgress ); projectUploadFile_ref.addEventListener( Event.COMPLETE, onProjectUploadComplete ); } /** onProjectUploadProgress */ private function onProjectUploadProgress( event:ProgressEvent ):void { btn_projectFileCancel.enabled = true; } /** onProjectUploadComplete */ private function onProjectUploadComplete( event:Event ):void { btn_projectFileCancel.enabled = false; btn_projectFileUpload.enabled = false; } /** cancelProjectFile */ private function cancelProjectFile():void { projectUploadFile_ref.cancel(); } ]]> </mx:Script> <mx:HBox width="539" height="129"> <mx:Label width="85" text="Projektdatei:" /> <mx:TextInput id="tip_projectPath" width="300" /> <mx:VBox height="100%" width="121"> <mx:Button label="durchsuchen" width="100" click="{ searchProjectFile() }"/> <mx:Buttonid="btn_projectFileUpload" label="hochladen" width="100" click="{ uploadProjectFile() }"/> <mx:Button id="btn_projectFileCancel" label="abbrechen" width="100" click="{ cancelProjectFile() }"/> <mx:Text id="statusTxt" text="Text" width="118"/> </mx:VBox> </mx:HBox> </mx:WindowedApplication> php: $file_temp = $_FILES['file']['tmp_name']; $file_name = $_FILES['file']['name']; define("PROJECT_PATH", "http://xserver....de/test/"); $projectpath = PROJECT_PATH; //-- existiert der Projekt Ordner noch nicht, wird dieser angelegt if(!file_exists($projectpath)) { mkdir($projectpath,0777,TRUE); chmod($projectpath,0777); } aber es wird nichts hochgeladen. wenn ich PHP in AMFPHP durchlaufen lasse bekomme ich diese Fehlermeldung: chmod(): No such file or directory wenn ich das richtig deute stimmt was mit den Rechten meines Servers nicht, jedoch, sind alle meine Ordner freigeben mit 0777. der Skript läuf auch nicht auf XAMPP das verstehe ich nicht. kann mir vielleicht bitte einer helfen ![]() Gruß |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Aug 2009
Beiträge: 5
| PHP-Code: |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Aug 2009
Beiträge: 5
| PHP-Code: |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Aug 2009
Beiträge: 5
|
ich hoffe dass es nun besser zu lesen ist, sorry, kenne mich hier mit nicht aus. normalerweise finde ich immer eine Antwort auf meine Fragen im Netz, diesmal habe ich den weg über einen Forum nehmen müssen ![]() also weiß jemand was genau los ist. oder hat jemand eine Idee wie ich am besten in Air - Application Dateien hochladen kann. Download passiert ohne Probleme. Ach ja Air mache ich mit Hilfe von Flexbuilder 3 Vielen Dank für jede Antwort |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |