2010-07-04 2 views
2

Я пробовал свою руку на минималистичном боксе IRC, но я никогда не смогу подключиться к работе.Подключение к IRC-серверу с использованием C#

Я делаю это через объект TcpClient, который я видел в других подобных проектах, и те, кто, как сообщается, работают.

Вот код.

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); 
      } 
     } 
    } 
} 

Так что я немного подождать, а затем сделать/WHOIS на прозвище, но я всегда получаю один и тот же ответ: пользователь не существует.

Насколько я знаю, TcpClient устанавливает соединение, и затем я могу использовать экземпляр NetWorkStream для чтения и записи в это соединение.

Что еще мне нужно сделать?

ответ

3

Сначала я предлагаю вам взглянуть на наши правила RFC:

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

Посмотрите на подключение регистрации. Вы должны следовать этим шагам, чтобы получить соединение:

  1. Пасс сообщение
  2. Ник сообщение
  3. сообщение пользователя

Вы пропускаете команду USER.

 Смежные вопросы

  • Нет связанных вопросов^_^