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

Entrée/Sortie Java Discussion :

[socket] connexion à un serveur irc


Sujet :

Entrée/Sortie Java

  1. #1
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut [socket] connexion à un serveur irc
    hello tout le monde...

    j'aimerai faire une applet pour me connecter a un serveur irc mais dès que je me connecte je recois ceci:

    :lexus.eurotchat.net NOTICE AUTH :*** Looking up your hostname...
    et au bout d'un moment la connexion est couper !!!

    est ce que quelqu'un aurait une idée comment ce que l'on dois se connecter ? quel sont les règles de connexion... etc
    ou si quelqu'un à un exemple de connexion a un serveur irc je suis preneur

    merci d'avance

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Le meilleur moyen pour tout savoir d'un protocole, c'est de se taper la RFC correspondante.
    Jette un oeil là dessus :
    http://www.faqs.org/ftp/rfc/pdf/rfc1459.txt.pdf

    Y'a aussi cette version en français, mais je sais pas si c'est une traduction exacte de la RFC :
    http://www.salemioche.com/irc/irc_rfcfr.php

  3. #3
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    merci... donc voila j'ai essayer de me connecter au serveur
    ensuite j'ai envoyer ceci:

    PASS
    NICK
    USER

    comme il le dise dans le RFC mais le serveur me retourne ceci:
    :lexus.eurotchat.net NOTICE AUTH :*** Looking up your hostname...
    :lexus.eurotchat.net NOTICE AUTH :*** Found your hostname (cached)
    ERROR :Closing Link: [62.167.136.97] (Ping timeout)

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par saod
    merci... donc voila j'ai essayer de me connecter au serveur
    ensuite j'ai envoyer ceci:

    PASS
    NICK
    USER

    comme il le dise dans le RFC mais le serveur me retourne ceci:
    :lexus.eurotchat.net NOTICE AUTH :*** Looking up your hostname...
    :lexus.eurotchat.net NOTICE AUTH :*** Found your hostname (cached)
    ERROR :Closing Link: [62.167.136.97] (Ping timeout)
    Quelle commande produit cette erreur ? La dernière ?

  5. #5
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    nan c'est bon ca marche !!! le problème ne venais pas des commandes mais j'envoyais pas correctement, le serveur ne ressevais jamais rien et au bout d'un certain temps j'étais déconnecter !!!

    merci pour vos reponse

  6. #6
    Membre émérite Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Points : 2 276
    Points
    2 276
    Par défaut
    En faite il faut aussi renvoyer un PONG , a chaque requete de PING du serveur.
    Je ne dev pas d'appelt irc la , mais de memoire d'ancien admin irc , il faut que ton app/applet reponde au PING.
    J'ai un exemple concret chez moi , je te le posterai quand je rentrerai du taff.
    ++
    Règles du club -> Cliquez-ici
    FAQ Hardware -> Cliquez-ici
    Vous avez résolu votre souci ->
    F1 et Google sont vos amis.

  7. #7
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    oki merci

    j'attend ton exemple bien volontier

  8. #8
    Membre émérite Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Points : 2 276
    Points
    2 276
    Par défaut
    Voici ce que je te disai , le script d'origine est de cameleon2002 , que j'ai ensuite un peu modifier a ma convenance , enfin j'ai un peu toucher en vu de faire une app du style mirc , mais j'en suis trés loin.
    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
     
    import java.net.*;
    import java.io.*;
    import java.util.*;
     
    /**
    * <p>Titre : Connection à un serveur IRC</p>
    * <p>Description : </p>
    * <p>Copyright : Copyright (c) 2004</p>
    * <p>Société : </p>
    * @author cameleon2002
    * @version 1.0
    */
     
    public class Connection implements Runnable{
    	final String serveur ="ton_serveur";
    	final String chan ="#ton_chan";
    	final String nick = "ton_pseudo";
    	Socket socket = null;
    	PrintWriter out = null;
    	BufferedReader in = null;
    	Thread thread = new Thread(this);
    	HashMap action = new HashMap();
     
    	public Connection() {
    		try {
    			socket = new Socket(serveur, 6667);
    			out =new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true);
    			in =new BufferedReader( new InputStreamReader(socket.getInputStream()));
    			String line = null;
    			out.println("NICK " + nick);
    			out.println("USER " + nick + " hostname "+serveur+" :Hallo");
    			out.println("JOIN "+chan);
    			thread.start();
    			String quit = null;
    			while (quit != "Q"){
    				quit = Saisie.lire_String();
    				out.println("PRIVMSG " +chan+ " : " +quit);
    			}
    		}
    		catch (UnknownHostException e) {
    			e.printStackTrace();
    		}
    		catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
     
    	public void run(){
    		String line = null;
    		try{
    			while (thread != null && (line = in.readLine()) != null) {
    			//reponse en cas de ping
    				if (line.indexOf("PING") == 0) {
    					String s[] = line.split(":");
    					out.println("PONG :" + s[1]);
    				}
    				else {
    					String temp[] = line.split("!");
    					if (temp.length != 1){
    						System.out.println("<" +temp[0]+ "> " +temp[1]);
    					}
    				}
    			}
    		}
    		catch(IOException ioe){
    			ioe.printStackTrace();
    		}
    	}
    	public static void main(String[] args){
    		Connection c1 = new Connection();
    	}
    }
    Il te faut un autre fichier avec pour le while du bloc try catch , ceci permet d'ecrire des messages sur le chan , les modes ect ne sont pas faits
    mais deja la reponse au ping c'est ok.
    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
     
    //---Saisie.java
     
    import java.io.*;
     
    class Saisie{
    	public static String lire_String(){
    		String ligne_lue=null;
         		try {
    			InputStreamReader isr = new InputStreamReader(System.in);
              		BufferedReader br = new BufferedReader(isr);
              		ligne_lue=br.readLine();
    		 }
         		catch(IOException e) {
    			System.err.println(e);
    		}	
         		return ligne_lue;
    	}
     
     	public static String lire_String(String question){
    		System.out.print(question);
       		return(lire_String());
    	}
     
     	public static int lire_int(){
    		return Integer.parseInt(lire_String());
    	}
     
     	public static int lire_int(String question){
    		System.out.print(question);
    		return Integer.parseInt(lire_String());
    	}
     
     	public static double lire_double(){
    		return Double.parseDouble(lire_String());
    	}
     
     	public static double lire_double(String question){
    		System.out.print(question);
    	 	return Double.parseDouble(lire_String());
    	}
     
     	public static char lire_char(){
    		String reponse=lire_String();
    		return reponse.charAt(0);
    	}   
     
     	public static char lire_char(String question){
    		System.out.print(question);
    	 	String reponse=lire_String();
    	 	return reponse.charAt(0);
    	}
    }
    C'est le second fichier.
    Voila j'espere que cela t'aidera , car c'est peu brouillion je le concoie.
    ++
    Règles du club -> Cliquez-ici
    FAQ Hardware -> Cliquez-ici
    Vous avez résolu votre souci ->
    F1 et Google sont vos amis.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Socket connexion client/serveur en WIFI
    Par walslayer dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 11/01/2012, 10h44
  2. Connexion à l'aide de socket à un serveur IRC
    Par cameleon2002 dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 08/03/2011, 19h01
  3. Connexion à un serveur IRC impossible
    Par KheiiSha dans le forum IRC / mIRC
    Réponses: 1
    Dernier message: 05/07/2010, 04h30
  4. Connexion à un serveur irc en vbnet
    Par golliat dans le forum VB.NET
    Réponses: 7
    Dernier message: 04/07/2008, 11h19
  5. [SOCKET] connexion client serveur avec applet
    Par kaiser2003 dans le forum Applets
    Réponses: 2
    Dernier message: 06/10/2004, 22h32

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