Lire Données Socket android
Bonjour,
Je souhaite envoyer une trame au serveur et celui-ci doit me répondre s'il s'agit d'une trame correcte.
Je ne sais pas trop comment m'y prendre... donc si vous pouviez me guider.
J'ai une classe ClientThread pour la communication :
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
| public class ClientThread extends Thread{
private static final int SERVERPORT = 60115;
private static final String SERVER_IP = "192.168.1.102";
private Socket socket;
private PrintWriter mBufferOut;
private BufferedReader mBufferIn;
public String message;
@Override
public void run()
{
try
{
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
mBufferOut = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
mBufferIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
if( mBufferIn.readLine() != null)
{
message = mBufferIn.readLine();
}
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
public void envoyer(String message)
{
mBufferOut.print(message);
mBufferOut.flush();
}
} |
Et ensuite l'endroit concerné ou j'attend la réponse :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| case R.id.buttonOK:
ThreadLAN.envoyer("#"+password+"#");
password += ThreadLAN.message;
/*if (ThreadLAN.message.length() <= 10)
{
password += ThreadLAN.message;
}*/
Intent main = new Intent(login.this, MainActivity.class);
main.putExtra(EXTRA_PASSWORD, password);
startActivity(main);
break;
} |
J'ai une variable message déclaré comme public et je vais la récupérer dans mon activité mais elle est null. Il me faudrait détecter à quel moment j'ai reçu une réponse mais je sais pas trop comment faire.
Merci pour votre aide.