Etablir une connexion entre deux applications Java
Bonjours les amis
j'ai un grand problème !!
j'essaye d'établir une connexion entre une application java (sous Eclipse) et une application android (sous Eclipse ADT)
l'application java constitue le serveur et l'application android constitue le client
voilà le scénario : j'ecris un message dans une zone de texte , je clique sur un bouton pour envoyer ce texte , l'application java reçois ce message et l'affiche !
voilà mon code client sous eclipse ADT :
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
| package ttaiit.blogsport.com;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MessageClient extends Activity implements OnClickListener{
EditText etMessage;
Button bSend;
@Override
protected void onCreate(Bundle savedInstanceState) {
EditText etMessage;
Button bSend;
super.onCreate(savedInstanceState);
setContentView(R.layout.messageclient);
etMessage = (EditText)findViewById(R.id.etMessage);
bSend = (Button)findViewById(R.id.bSend);
bSend.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Thread t = new Thread(){
@Override
public void run() {
try {
Socket s = new Socket("127.0.0.0", 2344);
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
dos.writeUTF(etMessage.getText().toString());
dos.flush();
dos.close();
s.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}};
t.start();
Toast.makeText(this, "This message sent!", Toast.LENGTH_SHORT).show();
}
} |
et mon code serveur :
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
| public class Server {
public static void main(String[] args){
Thread t = new Thread(){
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("Server is running and listening...");
try {
ServerSocket ss = new ServerSocket(2344,1000,InetAddress.getByName("127.0.0.1"));
while(true){
Socket s = ss.accept();
DataInputStream dis = new DataInputStream(s.getInputStream());
System.out.println("Received from client" +dis.readUTF());
dis.close();
s.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
t.start();
}
} |
je sait qu'il s'agit d'un probleme des ip ou des ports mais je ne sais pas comment le résoudre .
j'ai meme essayé avec localhost mais rien ne marche , le serveur se lance mais ne detecte aucun message
je suis connecter à internet via un modem
Avez-vous des idées ????????
Merci