2

ミニマルな 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 インスタンスを使用してその接続の読み取りと書き込みを行うことができます。

他に何をする必要がありますか?

4

1 に答える 1

3

最初に、適切な RFC を参照することをお勧めします。

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

接続登録を見てください。接続を取得するには、次の手順に従う必要があります。

  1. メッセージを渡す
  2. ニックメッセージ
  3. ユーザーメッセージ

USER コマンドがありません。

于 2010-07-04T20:30:36.563 に答える