IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

Socket connexion client/serveur en WIFI


Sujet :

API standards et tierces Android

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Socket connexion client/serveur en WIFI
    Bonjour, je me permet de venir demander de l'aide au sujet des sockets sur android. Mon problème est le suivant, je me connecte en wifi sur mon point d'accès (qui est aussi le serveur) et je créer ma socket, cependant je n'arrive pas à l'associée au serveur (je n'arrive pas à me connecter).

    Je vous pose le code que j'utilise. Si vous avez une solution, elle serait la bien venue.
    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
     
    public class ClientActivity extends Activity {
     
        private EditText serverIp;
     
        private Button connectPhones;
     
        private String serverIpAddress = "";
     
        private boolean connected = false;
     
        private Handler handler = new Handler();
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.client);
     
            serverIp = (EditText) findViewById(R.id.server_ip);
            connectPhones = (Button) findViewById(R.id.connect_phones);
            connectPhones.setOnClickListener(connectListener);
        }
     
        private OnClickListener connectListener = new OnClickListener() {
     
            @Override
            public void onClick(View v) {
                if (!connected) {
                    serverIpAddress = serverIp.getText().toString();
                    if (!serverIpAddress.equals("")) {
                        Thread cThread = new Thread(new ClientThread());
                        cThread.start();
                    }
                }
            }
        };
     
        public class ClientThread implements Runnable {
     
            public void run() {
                try {
                    InetAddress serverAddr = InetAddress.getByName(serverIpAddress);
                    Log.d("ClientActivity", "C: Connecting...");
                    Socket socket = new Socket(serverAddr, ServerActivity.SERVERPORT);
                    //connected = true;
                    while (socket.isConnected()) {
                        try {
                            Log.d("ClientActivity", "C: Sending command.");
                            PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
     
                                out.println("Hey Server!");
                                Log.d("ClientActivity", "C: Sent.");
                        } catch (Exception e) {
                            Log.e("ClientActivity", "S: Error", e);
                        }
                    }
                    socket.close();
                    Log.d("ClientActivity", "C: Closed.");
                } catch (Exception e) {
                    Log.e("ClientActivity", "C: Error", e);
                    connected = false;
                }
            }
        }
    }

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Essai peut être comme ceci :

    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
    public boolean connect()
    {
    	InetAddress iaddr;
    	try {
    		iaddr = InetAddress.getByName(ip);
    	} catch (UnknownHostException e) {
    		this.error = "Hote inconnu";
    		return false;
    	}
     
    	SocketAddress sockAddr = new InetSocketAddress(iaddr, port);
     
    	this.socket = new Socket();
    	this.socket.connect(sockAddr, TIMEOUT); // définir TIMEOUT
    	this.socket.setSoTimeout(TIMEOUT_READ); //Definir TIMEOUT_READ
     
    	if(this.socket.isConnected())
    		return true;	
     
    	return false;
    }
    Sinon les message d'erreur fournit dans le ddms devraite guider dans la résolution de ton problème.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    J'ai essayé cette méthode, mais je ne rentre même pas dedans. J'ai l'impression que le code exécute pas le run().

Discussions similaires

  1. [Python 2.X] Connexion client serveur par module socket
    Par Toug19 dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 30/01/2015, 09h04
  2. Connexion client/serveur par socket
    Par k3nsou dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 23/03/2009, 17h34
  3. [SOCKET] connexion client serveur avec applet
    Par kaiser2003 dans le forum Applets
    Réponses: 2
    Dernier message: 06/10/2004, 22h32
  4. [Routeur/Socket] Connection Client/Serveur
    Par Clorish dans le forum Développement
    Réponses: 3
    Dernier message: 17/12/2003, 13h45
  5. comment gerer plusieurs connexions client/serveur
    Par naili dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/08/2002, 16h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo