2010-07-04 4 views
2

Je me suis essayé à un robot IRC minimaliste, mais je n'arrive jamais à obtenir une connexion pour fonctionner. Je le fais via un objet TcpClient, que j'ai vu utilisé dans d'autres projets de ce type et ceux qui fonctionnent.Connexion à un serveur IRC en utilisant C#

Voici le code.

private string server = "irc.freenode.net"; 
private int port = 6667; 
private string nick = "testingsharpbot"; 
private string channel = "testblablabla"; 

private TcpClient irc; 

public ConfigForm() { 
    InitializeComponent(); 
} 

private void ConnectButton_Click(object sender, EventArgs e) { 
    this.irc = new TcpClient(this.server, this.port); 

    using(NetworkStream stream = irc.GetStream()){ 
     using(StreamReader sr = new StreamReader(stream)) { 
      using(StreamWriter sw = new StreamWriter(stream) {NewLine = "\r\n", AutoFlush = true}) { 
       sw.WriteLine("NICK " + this.nick); 
       sw.WriteLine("JOIN " + this.channel); 
      } 
     } 
    } 
} 

donc j'attends un peu, puis faire un/whois sur le surnom, mais je reçois toujours la même réponse: l'utilisateur n'existe pas. Pour autant que je sache, le TcpClient établit la connexion et je peux ensuite utiliser l'instance NetWorkStream pour lire et écrire sur cette connexion.

Que dois-je faire d'autre?

Répondre

3

Tout d'abord, je vous suggère de jeter un oeil dans la RFC correspond le:

http://www.faqs.org/rfcs/rfc2812.html

Regardez l'enregistrement de connexion. Vous devez suivre ces étapes pour obtenir une connexion:

  1. message passe
  2. Nick messages
  3. message utilisateur

vous manque la commande USER.

Questions connexes