我一直在尝试简约的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实例来读写该连接。
我还需要做什么?
答案 0 :(得分:3)
首先,我建议您查看合适的RFC:
http://www.faqs.org/rfcs/rfc2812.html
查看连接注册。您需要按照以下步骤进行连接:
您错过了USER命令。