使用C#连接到IRC服务器

时间:2010-07-04 20:24:47

标签: c# irc tcpclient

我一直在尝试简约的IRC机器人,但我永远无法建立联系。

我是通过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实例来读写该连接。

我还需要做什么?

1 个答案:

答案 0 :(得分:3)

首先,我建议您查看合适的RFC:

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

查看连接注册。您需要按照以下步骤进行连接:

  1. 传递消息
  2. 尼克消息
  3. 用户留言
  4. 您错过了USER命令。