(C#)TcpClient未连接到irc服务器(使用数字ip)
本文关键字:数字 ip 服务器 TcpClient 连接 irc | 更新日期: 2023-09-27 18:28:04
所以,我一直在尝试制作一个连接到本地irc服务器的bot。问题是,如果我用Irc irc = new Irc("192.168.1.2", 6667); irc.joinChannel("#test")
这样的构造函数调用我创建的"Irc.cs"类,它就不会显示在Irc服务器通道上。问题是,我不认为它无法连接,因为如果我放置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。