Note that there are some explanatory texts on larger screens.

plurals
  1. POj2me openOutputStream stream already open
    text
    copied!<p>Im having difficulties with the HttpConnection posting data to my server. The first time everything goes well. The second time it says; 'Stream already open', but i close everything after the response.</p> <p>Here is my code:</p> <pre><code>import javax.microedition.io.Connector; import javax.microedition.io.HttpConnection; import javax.microedition.location.*; import java.io.*; class GetSnowheights { HttpConnection http = null; QualifiedCoordinates q = null; public String result = "Geen data"; private boolean running; public GetSnowheights(QualifiedCoordinates q) { try { /* this.http = (HttpConnection)Connector.open("http://www.diamond4it.nl/bb/"); this.http.setRequestMethod(HttpConnection.POST); this.http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); */ //Internet.getInstance(); this.http = Internet.getConnection(); }catch(Exception err){ err.printStackTrace(); } this.q = q; this.result = "Running"; } public void GetResult(){ StringBuffer sb = new StringBuffer(); this.result = "GetResult"; if(this.http != null){ OutputStream os = null; InputStream is = null; try { //Send request os = this.http.openOutputStream(); String data = "lat=1&amp;lng=1"; //String data = "lat=" + this.q.getLatitude() + "&amp;lng=" + this.q.getLongitude(); os.write(data.getBytes()); os.flush(); os.close(); this.result = "dataSend"; //Check response and read data int res = this.http.getResponseCode(); this.result = "Result: " + res; if(res == 200){ is = this.http.openInputStream(); int ch; // Check the Content-Length first long len = this.http.getLength(); if(len!=-1) { for(int i = 0;i&lt;len;i++){ if((ch = is.read())!= -1){ sb.append((char)ch); } } } else { // if the content-length is not available while ((ch = is.read()) != -1){ sb.append((char)ch); } } is.close(); } this.result = sb.toString(); }catch(Exception err){ //err.printStackTrace(); this.result = err.toString() + "\r\n" + err.getMessage(); }finally{ if(is != null){ try{ is.close(); }catch(Exception err){ err.printStackTrace(); } } if(os != null){ try{ //os.flush(); os.close(); }catch(Exception err){ err.printStackTrace(); } } /* if(http != null){ try{ http.close(); }catch(Exception err){ err.printStackTrace(); } } */ } }else{ this.result = "No connection"; } } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload