Partage
  • Partager sur Facebook
  • Partager sur Twitter

socket client pour android

    29 avril 2013 à 18:24:14

    salut tout le monde

    voila, j ai une application socket client/serveur android, l'application marche sur l'emulateur, avec l 'adresse 10.0.2.2 le client envoi les message txt et le serveur les recoi, mais des que je l instal sur le telephone, le client refuse de se connecter!

    si klk un peut m aider ca serai genial

    merci!

    • Partager sur Facebook
    • Partager sur Twitter
      30 avril 2013 à 13:14:26

      Salut c'est normal vu que par ton émulateur tu peux avoir accès à l'adresse 10.0.2.2 qui représente localhost sur l'ordi. Si tu utilises ton portable tu dois utiliser une adresse sois sur ton réseau local soit une adresse distante sur laquelle tu auras implémenter ton serveur. J'espère t'avoir un peu aidé
      • Partager sur Facebook
      • Partager sur Twitter
        2 mai 2013 à 12:38:46

        oui, on a utilisé l'adresse du reseau mais ca na pas fonctionner, le truc c est que maintenant l application marche sous reseau wifi d'un ordinateur a un autre, mais ce qui ne vas pas avec cette appli c est que le client se connecte au serveur juste au moment ou j appui sur le boutton envoyer, ensuite il se deconnecte

        le programme est le suivant:

        ce qui est tout a fait normal, car le socket est declarer a l interieur du button, mais comme je vais utiliser plusieurs boutton, je sais pas comment faire!!

        • Partager sur Facebook
        • Partager sur Twitter
          2 mai 2013 à 17:15:42

          Salut tu crée une classe qui te permet de créer des client quand tu veux et tu l'appelles quand tu as besoin tu peux même coder en dur l'addresse dans la classe et donc tu n'auras qu'à faire new MonSocketCreator(); Je sais pas si tu vois ce que je veux dire :p
          • Partager sur Facebook
          • Partager sur Twitter
            5 mai 2013 à 16:10:42

            ok je vais essayer de voir cela merci pour votre aide

            • Partager sur Facebook
            • Partager sur Twitter
              7 mai 2013 à 16:15:17

              ok merci beaucoup pour ton aide, je l ai fait grace a une classe anonyme, et la connexion marche a merveille,

              si tu peux m aider, j ai un autre soucis, j ai crée une autre classe dans laquelle j ai defnit des imageboutton pour envoyer des chaines de caractères au serveur a chaque fois que j appui sur un boutton, le truc c est que je sais pas comment recuperer cette donner et l envoyer au serveur?

              ceci est le programme des boutton qui affiche leurs contenu dans un edittext, mais pour les envoyer au serveur je sais pas ccomment m y prendre

              merci d avance

              • Partager sur Facebook
              • Partager sur Twitter
                15 mai 2013 à 8:25:20

                Je pense que tu dois utiliser BufferedWritter explore cette classe pour android elle permet d'écrire au travers des sockets :) (désolé pour la réponse tardive)
                • Partager sur Facebook
                • Partager sur Twitter
                  15 mai 2013 à 11:34:54

                  ok merci beaucoup pour ton aide, desolé j aurai du vous prevenir que j ai resolu le probleme avec printwriter ca marche tres bien, sauf que maintenant j essai de communiquer entre deux vues, une première vue pour l adresse ip et le numero de port et la deuxieme pour l interface de commande, j ai utiliser un intent pour passer d une vue a une autre, mais les boutons marchent pas dans la deuxieme vue

                  publicclass MainActivity extends Activity {

                  public Button connecter;

                  public TextView etatconnection;

                  public EditText adresseIP, port;

                  public Socket client;

                  public PrintWriter printwriter;

                  @Override

                  protectedvoid onCreate(Bundle savedInstanceState) {

                  super.onCreate(savedInstanceState);

                  setContentView(R.layout.activity_main);

                  adresseIP = (EditText) findViewById(R.id.adresseIP);

                  port = (EditText) findViewById(R.id.port);

                  connecter = (Button) findViewById(R.id.connecter);

                  connecter.setOnClickListener(new OnClickListener() {

                  @Override

                  publicvoid onClick(View v) {

                  String IP = adresseIP.getText().toString();

                  int Port = Integer.valueOf(port.getText().toString());

                  try {

                  client = new Socket(IP, Port);

                  } catch (UnknownHostException e) {

                  e.printStackTrace();

                  } catch (IOException e) {

                  e.printStackTrace();

                  }

                  if(client.isConnected()){

                  Intent intent = new Intent(MainActivity.this, InterfaceCommande.class);

                  startActivity(intent);


                  ce programme et celui de la première vue



                  publicclass InterfaceCommande extends MainActivity {

                  public Button action1;

                  protectedvoid onCreate(Bundle savedInstanceState) {

                  super.onCreate(savedInstanceState);

                  setContentView(R.layout.interfacecommande);

                  action1 = (Button) findViewById(R.id.Action_1);

                  action1.setOnClickListener(new OnClickListener(){

                  @Override

                  publicvoid onClick(View v) {

                  try {

                  printwriter = new PrintWriter(client.getOutputStream(),true);

                  } catch (IOException e) {

                  e.printStackTrace();

                  }

                  printwriter.write("1");

                  printwriter.flush();

                  et celui ci est celui de la deuxième vue, la j ai mit qu'un seul bouton


                  merci d'avance pour votre aide car je bloque dessus depuis presqu un semaine deja

                  • Partager sur Facebook
                  • Partager sur Twitter

                  socket client pour android

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown