gpt4 book ai didi

c# - (C#) TcpClient 没有连接到 irc 服务器(使用数字 ip)

转载 作者:行者123 更新时间:2023-11-30 17:40:17 26 4
gpt4 key购买 nike

所以,我一直在尝试制作一个连接到本地 irc 服务器的机器人。问题是如果我调用我用构造函数创建的“Irc.cs”类:Irc irc = new Irc("192.168.1.2", 6667); irc.joinChannel("#test") 它没有出现在 irc 服务器 channel 上。问题是我不认为它连接失败,因为如果我输入 Irc irc = new Irc("192.168.1.11", 6667) (这不是服务器)它会抛出异常,但是作为服务器的那个没有。如果有人能提供帮助,我会很高兴 :) 这是“Irc.cs”的代码

        public IrcBot(String ip, int port, String nickName)
{

tcpClient = new TcpClient(ip, port);
inputStream = new StreamReader(tcpClient.GetStream());
outputStream = new StreamWriter(tcpClient.GetStream());

outputStream.WriteLine("NICK " + nickName);
outputStream.WriteLine("USER " + nickName + " 8 * : " + nickName);
outputStream.Flush();
}

public void joinRoom(String channel)
{
this.channel = channel;

outputStream.WriteLine("JOIN " + channel);
outputStream.Flush();
}

最佳答案

这里有一件重要的事情是 IRC 使用 CR/LF 而不是 StreamWriters 使用的 LF,因此您需要像这样创建一个 StreamWriter:

writer = new StreamWriter(stream) { NewLine = "\r\n" };

这样它会在每一行的末尾发送 CR/LF。

关于c# - (C#) TcpClient 没有连接到 irc 服务器(使用数字 ip),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34476680/

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