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

标签 c# visual-studio tcpclient bots irc

所以,我一直在尝试制作一个连接到本地 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/

相关文章:

c# - 在 .NET CORE 5.0 中哪里可以找到 System.Data.Entity.Design.PluralizationServices

c# - 在 LP2844Z(Zebra 打印机)的收据中包含 PNG

c# - C#同步TCP客户端套接字无法解释的丢失数据

c++ - TCP/IP 文件传输 C++

c# - 在 C# 和 Windows 中限制评估软件的启动或运行时间

visual-studio - 如果GAC中有多个同一个DLL,VS会选择哪个版本?

visual-studio - 在 Visual Studio 2008 中分配鼠标按钮

c# - user.config 的自定义路径

java - 使用 Android TCP 客户端应用程序与传感器交互

c# - 为什么我的 cmdlet 导入、导出然后再次导入?