使用C#连接到IRC服务器
问题描述:
我一直在尝试我的手在简约IRC机器人,但我永远无法获得连接工作。使用C#连接到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实例读取和写入该连接。
我还需要做什么?
答
起初,我建议你在此时,相应的RFC考虑看看:
http://www.faqs.org/rfcs/rfc2812.html
看Connection注册。您需要按照这个步骤来获取连接:
- 通过的消息
- 尼克消息
- 网友留言
你错过了USER命令。