bonjour tout le monde;
mon objectif est de : développer une application Android de chat entre plusieurs utilisateurs.
chaque client saisie son login dans une activité qui le dirige vers une deuxième où elle saisie son message, le valide et le serveur lui affiche son login suivie de son message dans une TextView.
PROBLEME: pas de connexion au serveur java déja lancé sur Mon PC suivi d'une adaptation des ports serveur/client.
Voici mon code:
Client Android: :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package com.ma.emset.clientchat;
 
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.EditText;
import android.widget.ScrollView;
import android.widget.TextView;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.URL;
 
public class ChatActv extends AppCompatActivity {
        private TextView chat;
        private EditText entry;
        private ScrollView scroll;
        private String chatLog = "";
        private String login;
        private PrintWriter ecr=new PrintWriter(System.out,true);//flux pour ecrire
    private BufferedReader lir=new BufferedReader(new InputStreamReader(System.in));
 
 
    private void displayMessage(String message) {
        // On ajoute ce message a l'ensemble du chat
        chatLog += message;
        // On affiche le chat
        chat.setText(chatLog);
        // On scrolle en bas pour visualiser le dernier message
       // scroll.fullScroll(View.FOCUS_DOWN);
    }
    public void enter(View v) {
        // On recupére le texte entre par l'utilisateur
        String text = entry.getText().toString();
        // S'il n'est pas vide
        if (!text.isEmpty()) {
            //On ajoute le login de l'utilisateur avant et un saut de ligne apres
            String message = login + ": " + text + "\n";
            // On affiche le message
            displayMessage(message);
            // On nettoie la zone de texte d'entrée
            entry.setText("");
        }
    }
    public void logout(View v){finish();}
        //nouveau thread
        private class StartNetwork extends AsyncTask<Void, Void, Boolean>{
          Socket sok=null;String ip="127.0.0.1";
            String nomserveur="Hp-PC";int port=1111;boolean b;
            @Override
            protected Boolean doInBackground(Void...v){
             try{  sok=new Socket(ip,port);
                    if(sok!=null) b=true;  else b=false;
                }catch(IOException e){e.printStackTrace();}
                     return b;  }
            @Override
            protected void onPostExecute(Boolean b){
                if(b) displayMessage("connecté au serveur\n");
                    else displayMessage("pas de connexion\n"); }
 
        }
    protected void onStart(){super.onStart(); new StartNetwork().execute();}
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_chat_actv);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
 
        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
        chat = (TextView) findViewById(R.id.chat);
        entry = (EditText) findViewById(R.id.entry);
        scroll = (ScrollView) findViewById(R.id.scroll);
        Intent data = getIntent();
        login = data.getStringExtra(ActvP.EXTRA_LOGIN);
        ecr.println("mon texte");
 
    }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
import java.io.*;
import java.net.*;
public class serveurtest {
 
    public serveurtest(){System.out.println("bnjr\n");
            int b = 0;
        ServerSocket socketserver;
        Socket socketduserveur ;
        BufferedReader in = null ;
        PrintWriter out;
        String rep;
     try {
           socketserver = new ServerSocket(1111);
          InetAddress address = InetAddress.getLocalHost();
          String hostIP = address.getHostAddress() ;
          String hostName = address.getHostName();
          System.out.println( "Le nom de serveur est : " + hostName + "\nIP: " + hostIP);
          System.out.println("Le serveur est à l'écoute du port "+socketserver.getLocalPort());
         socketduserveur = socketserver.accept();
          System.out.println("client connecté");
          in = new BufferedReader(new InputStreamReader(socketduserveur.getInputStream()));
          out = new PrintWriter(socketduserveur.getOutputStream());
          out.println("TESTTTT");
          out.flush();
 } catch (Exception e) {
          e.printStackTrace();
          System.out.println("erreur 1");
        }
}}
Cà m'affiche toujours pas de connexion. AIDEZ moi SVP; Merci