Bonjour,

J'essaye d'exécuter un exemple de communication HTTP midlet-servlet donné par Carol Hammer dans son livre "Creating Mobile Games" (APress). La communication servlet->midlet se fait sans pb , par contre je n'arrive pas à envoyer le moindre octet de la midlet vers la servlet. La midlet bloque sur l'instruction <dataoutputstream>.write((byte)100)
Je développe sous Win XP avec le WTK version 2.2 et je fais tourner la servlet en local avec Tomcat 5.5.17



Voici le code de la midlet qui pose pb :

public void communicationWithServlet() {
HttpConnection connection = null;
DataOutputStream dos = null;
DataInputStream dis = null;
try {
connection = (HttpConnection)Connector.open(SERVER_URL);
((HttpConnection)connection).setRequestMethod(HttpConnection.POST);
int rc = connection.getResponseCode();
if (rc != HttpConnection.HTTP_OK) {
throw new IOException("HTTP response code: " + rc);
}
dos = connection.openDataOutputStream();
System.out.println("before");
dos.write((byte)100);
System.out.println("after");
dos.flush();

dis = connection.openDataInputStream();
byte[] data = new byte[10];
dis.readFully(data);
message = new String(data);
System.out.println(message);
} catch(Exception e) { }
finally {
try {
if(dis != null) { dis.close();}
if(connection != null) {connection.close();}
}
catch(Exception e) {}
}
}
}

La midlet se bloque à l'instruction : dos.write((byte)100);
Si je le mets en commentaire, le reste de la méthode s'exécute bien et la servlet envoie bien les données à la midlet

Voici le code de la servlet

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SimpleServlet extends HttpServlet {
public void doPost(HttpServletRequest requete, HttpServletResponse reponse) throws ServletException, IOException {
InputStream is = requete.getInputStream();
int data= is.read();
reponse.setContentType("text/html");
PrintWriter out = reponse.getWriter();
out.println("Hello");
out.close();
}
}

Merci d'avance pour votre aide