ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
758
758
EMPFEHLEN
-
Hi,
Hab en Problem und zwar empfängt mein Programm von einem Servlet Daten.
auch alles soweit.
Nur beim ME 65 bleibt er an der Stelle stehen, an der ich die Daten aus dem DataInputStram lese.
Hab das so weit eingegrenzt, dass ich mir sicher bin, dass hier das Problem liegt.
Hier der Teil der die Daten auslesen soll:
Code :1 2 3 4 5 6 7
StringBuffer text = new StringBuffer(); DataInputStream din = new DataInputStream(conn.openInputStream()); int n = din.readInt(); text.append(din.readUTF() ); System.outprintln(text.toString());
und bei der Zeile text.append(din.readUTF()); bleibt er stehen.
Gibt es eine andere Möglichkeit die Daten auszulesen, als mit readUTF.
Vielleicht mit readByte()?
Ich weiß nur nicht wie?
Es gibt doch bestimmt ne Möglichkeit die Daten auszulesen ohne readUTF zu verwenden
Wäre um jede Hilfe dankbar.
Mit freundlichen Grüßen
Duermer
-
01.12.04 15:19 #2
- Registriert seit
- Oct 2004
- Ort
- Hessen
- Beiträge
- 310
Nun du könntest folgendes tun:
StringBuffer text = new StringBuffer();
DataInputStream din = new DataInputStream(conn.openInputStream());
int n = din.readInt();
byte[] buffer=new byte[1024];
int n=din.read(buffer);
String temptext=new String(buffer);
text.append(temptext );
Ich nehme hier an, dass ein 1024 byte grosser Buffer langt, falls du einen grösseren brauchst ändere die Zahl.
Das sollte dir weiter helfen.
Grüsse
Torsten"There's nothing we have to fear, except Fear itself....."
-
Danke.
auch
Nur auf dem ME65 so auch nicht.
Da kommt anstatt des geschickten Strings folgendes:
<version="1.0!?><!DOCT ...
Den Rest kann ich nicht lesen, weil das Display es nicht weiter anzeigen kann.
Aber das sind doch normalerweise so XML-Headers oder so was ähnliches.
Was ist das?
Und wie komm ich so an meine richtige Daten.
Mfg Duermer
-
Hab es jetzt auch ausprobiert, ob auch am ME65 was ankommt, indem ich die din.readInt() ausgegeben hab.
Und da kommt ne größere Zahl raus.
Also auf keinen Fall -1.
An was kann das denn noch liegen.
Hab nämlich damit jetzt en rießen Problem.
Weil ich mein Programm jetzt auf 6 ME65 drauf machen soll.
Es aber nicht geht.
Was muss ich da denn noch machen.
Weil es doch auf allen anderen Handys geht.
Vielleichtstimmen ja irgendwelche Konfigurationen nicht.
Wäre ihm echt unendlich dankbar.
Hier mal mein Code für die HTTP Verbindung:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
try{ ByteArrayOutputStream bout = new ByteArrayOutputStream(); DataOutputStream dout = new DataOutputStream(bout); dout.writeUTF(tcs.USER.getString()); tcs.data = bout.toByteArray(); dout.close(); } catch(IOException ioe){ tcs.stat3.setLabel("Fehler weiter oben"); repaint(); } try { st1.setLabel("los gehts"); String url = "http://lico-server.dyndns.org:8080/TCS/senden"; HttpConnection conn = (HttpConnection)Connector.open(url); conn.setRequestMethod( HttpConnection.POST ); conn.setRequestProperty( "User-Agent", "Profile/MIDP-1.0 Configuration/CLDC-1.0" ); conn.setRequestProperty( "Content-Language", "en-US" ); conn.setRequestProperty( "Accept", "application/octet-stream" ); conn.setRequestProperty( "Connection", "close" ); conn.setRequestProperty( "Content-Length", Integer.toString( tcs.data.length ) ); OutputStream os = conn.openOutputStream(); os.write(tcs.data); os.close(); try{ int rc= conn.getResponseCode(); if( rc == HttpConnection.HTTP_OK ){ st1.setLabel("am Anfang der Request"); StringBuffer text = new StringBuffer(); st1.setLabel("Vielleicht der Input Stream"); repaint(); DataInputStream din = new DataInputStream(conn.openInputStream()); tcs.n = din.readInt(); System.out.println(tcs.n +""); st1.setLabel(tcs.n +""); String t=""; repaint(); repaint(); text.append(din.readUTF()); st1.setLabel("Ist nicht der read UTF"); repaint(); tcs.msg = text.toString(); System.out.println(tcs.msg); //st1.setLabel(tcs.msg); repaint(); tcs.setRecord(tcs.msg); st1.setLabel("RMS past noch"); repaint(); tcs.teilen(tcs.msg); st1.setLabel("teilen is OK"); repaint(); }else{ tcs.down(); tcs.stat3.setLabel("leck mich am "); repaint(); tcs.Projekt.start(tcs); tcs.display.setCurrent(tcs.Projekt); } } catch(IOException ioe){ tcs.down(); st3.setLabel("Fehler"+ioe.getMessage()); repaint(); tcs.stat3.setLabel(tcs.msg); tcs.Projekt.start(tcs); tcs.display.setCurrent(tcs.Projekt); } } catch(IOException ioe){ tcs.down(); tcs.stat3.setLabel("Error"); repaint(); tcs.Projekt.start(tcs); tcs.display.setCurrent(tcs.Projekt); }
Das mit tcs.n oder so sind Variablen in meinem Haputprogramm.
Hier en Teil aus meinem Servet:Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
String text ="Testtesttest"; //Hier geht der Send Prozess von statten StringTokenizer tok = new StringTokenizer( text ); Vector v = new Vector(); while( tok.hasMoreTokens() ){ v.addElement( tok.nextToken() ); } ByteArrayOutputStream bout = new ByteArrayOutputStream(); DataOutputStream dout = new DataOutputStream( bout ); int size = v.size(); dout.writeInt(5); for( int i = 0; i < size; ++i ){ dout.writeUTF( (String) v.elementAt( i ) ); } byte[] data = bout.toByteArray(); // set the response headers and data... response.setContentLength( data.length ); response.setStatus( response.SC_OK ); OutputStream out = response.getOutputStream(); out.write( data ); out.close();Geändert von duermer (01.12.04 um 21:45 Uhr)
Ähnliche Themen
-
Laptop / Netbook ... ganz ohne Display (und evtl. ohne HDD)
Von mikeee im Forum HardwareAntworten: 12Letzter Beitrag: 08.01.11, 02:05 -
Funktionsaufruf nach AJAX - ohne eval, ohne jQuery?
Von ZodiacXP im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 02.11.10, 11:53 -
Frame ohne Minimieren. Schließen, Maximieren und ohne Titel
Von mrno im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 16.07.05, 00:08 -
HTML-Datei öffnen ohne Menubar, Toolbar, Status etc. ohne Öffnung über einen Link.
Von crashman im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 02.06.05, 12:23 -
content anzeigen ohne Frames und ohne Layer
Von Christoph im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 11.03.02, 14:03





Zitieren
Login





