Qq'un a dejà eu ce pb avec socket en Java ?

Qq'un a dejà eu ce pb avec socket en Java ? - Java - Programmation

Marsh Posté le 13-10-2002 à 12:03:28    

Je veux faire une simple com avec sockets en Java, genre client/serveur donc.
Alors, je réutilise simplement du code trouvé sur le web (donc a priori il doit être bon...).
 
Et voilà ce que j'obtiens dans ma console lorsque je lance le client (après avoir lancé le serveur) :
"sending command to remote VM failed: com.sun.jdi.IncompatibleThreadStateException"
 
Je ne vois pas quoi faire ! c'est quoi ce message merdique ??

Reply

Marsh Posté le 13-10-2002 à 12:03:28   

Reply

Marsh Posté le 13-10-2002 à 12:05:13    

nop jamais vu. Il ressemble à quoi ce code ?

Reply

Marsh Posté le 13-10-2002 à 12:05:59    

bizare que t'ai une exception du package jdi ...

Reply

Marsh Posté le 13-10-2002 à 12:14:27    

Bon, voilà le code :
 
********************************************************
*********************** client *************************
 
import java.io.*;
import java.net.*;
 
public class EchoClient
{
    public static void main(String[] args) throws IOException {
 
        Socket echoSocket = null;
        PrintWriter out = null;
        BufferedReader in = null;
         
    try {
        echoSocket = new Socket("monPC", 4444);
        out = new PrintWriter(echoSocket.getOutputStream(), true);
        in = new BufferedReader(new InputStreamReader(
                                        echoSocket.getInputStream()));
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host: monPC." );
            System.exit(1);
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for "
                               + "the connection to: monPC." );
            System.exit(1);
        }
 
    BufferedReader stdIn = new BufferedReader(
                                   new InputStreamReader(System.in));
    String userInput;
 
    while ((userInput = stdIn.readLine()) != null) {
        out.println(userInput);
        System.out.println("echo: " + in.readLine());
    }
 
    out.close();
    in.close();
    stdIn.close();
    echoSocket.close();
    }
}
 
 
 
********************************************************
********************** serveur *************************
import java.net.*;
import java.io.*;
 
public class MonoClientServer
{
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = null;
        boolean listening = true;
         
        try {
             serverSocket = new ServerSocket(4444);
        } catch (IOException e) {
            System.err.println("Could not listen on port: 4444." );
            System.exit(-1);
        }
 
        Socket clientSocket = null;
        try {
            clientSocket = serverSocket.accept();
            } catch (IOException e) {
            System.out.println("Accept failed: 4444" );
            System.exit(-1);
        }
 
        serverSocket.close();
    }
}

Reply

Marsh Posté le 13-10-2002 à 12:15:36    

:heink: tu lances ca à partir de quoi, fenêtres dos?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 13-10-2002 à 12:15:55    

t'as JDK 0.1 beta sur ta machine ou quoi ? :D


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 13-10-2002 à 12:19:34    

J'écris et je lance ça avec BlueJ (vu la simplicité du code...)
 
J'ai le sdk v1.4

Reply

Marsh Posté le 13-10-2002 à 12:21:20    

- dans le code du serveur c'est quoi "monpc"
- Non !! lance le en ligne de commande. Tu as une erreur qui n'a RIEN à voir avec ton code -> il y a une surcouche au dessus qui merde.


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 13-10-2002 à 12:23:45    

DarkLord a écrit a écrit :

- dans le code du serveur c'est quoi "monpc"
- Non !! lance le en ligne de commande. Tu as une erreur qui n'a RIEN à voir avec ton code -> il y a une surcouche au dessus qui merde.




ca m'en a bien l'air ....
 
remplace "monPC" par localhost

Reply

Marsh Posté le 13-10-2002 à 12:24:11    

127.0.0.1 c'est plus sur :)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 13-10-2002 à 12:24:11   

Reply

Marsh Posté le 13-10-2002 à 12:26:09    

- "monPC" est le nom de mon PC tout simplement !
(ou devrais-je utiliser le 192.168.0.1 à votre avis ???)
 
- pour la surcouche qui merde, c'est ce que je me dis (vu que le code est super simple...). J'essaye tout de suite en ligne de commande...

Reply

Marsh Posté le 13-10-2002 à 12:26:51    

mets 127.0.0.1 dans un premier temps


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 13-10-2002 à 12:36:52    

C'est bon, ça marche ! Merci !
 
Conclusions :
- c'est bien BlueJ qui merdait
- le code que je vous ai montré est VALABLE (il reste plus qu'à gérer plusieurs client).

Reply

Marsh Posté le 13-10-2002 à 12:38:57    

Manro a écrit a écrit :

C'est bon, ça marche ! Merci !
 
Conclusions :
- c'est bien BlueJ qui merdait
- le code que je vous ai montré est VALABLE (il reste plus qu'à gérer plusieurs client).




 
apprends nous qqch parce que là on le savait déjà :D  
 
 :hello:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 13-10-2002 à 12:46:52    

Tu veux apprendre qq chose ?
 
Alors va voir "Bowling for Colombine" le film de Michael Moore sur les armes aux USA. Il faut voir ce film, indispensable !

Reply

Marsh Posté le 13-10-2002 à 13:05:47    

Manro a écrit a écrit :

Tu veux apprendre qq chose ?
 
Alors va voir "Bowling for Columbine" le film de Michael Moore sur les armes aux USA. Il faut voir ce film, indispensable !




 
Je ne vois pas trop le rapport avec la programmation, mais je confirme, ce documentaire est excellent...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed