gpt4 book ai didi

c# - IRC Bot 不识别服务器 - 连接挂起

转载 作者:行者123 更新时间:2023-11-30 12:16:21 24 4
gpt4 key购买 nike

当我尝试使用 C# 中的简单 IRC 机器人连接到 freenode 时,我收到以下消息:

:asimov.freenode.net NOTICE * :* Looking up your hostname...

:asimov.freenode.net NOTICE * :* Checking Ident

:asimov.freenode.net NOTICE * :* Couldn't look up your hostname

:asimov.freenode.net NOTICE * :* No Ident response

然后大约 30 秒后,程序终止。

我曾尝试在 NICK 消息之前发送 USER 消息,也曾尝试手动将回车符“\r\n”附加到该行的末尾,而不是在 StreamWriter 选项中指定它。关于可能导致此行为的其他事情有什么想法吗?

这是我当前的代码:

        socket = new TcpClient(host, port);
socket.ReceiveBufferSize = 1024;
Console.WriteLine("Connected");
NetworkStream stream = socket.GetStream();
reader = new StreamReader(stream);
writer = new StreamWriter(stream) { NewLine = "\r\n", AutoFlush = true };
writer.Write("NICK " + user);
writer.Write("USER " + user + " 8 * :" + user);
writer.Write("JOIN " + chan);
//System.Threading.Thread.Sleep(5000);

while(running)
{
line = reader.ReadLine();
Console.WriteLine(line);
}

**已修复 - 使用 .WriteLine 修复了它。谢谢!

最佳答案

您没有刷新缓冲区。使用 writer.Flush();在每次写入之后。

例子:

writer.Write("NICK {0}\r\n", user);
writer.Flush();

或者

writer.WriteLine("NICK {0}", user);
writer.Flush(); // Maybe here you will not need to flush because of the autoflush

关于c# - IRC Bot 不识别服务器 - 连接挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5532719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com