所以,我一直在試圖製作一個連接到本地irc服務器的bot。問題是,如果我使用如下構造函數調用「Irc.cs」類:Irc irc = new Irc("192.168.1.2", 6667); irc.joinChannel("#test")
它不顯示在irc服務器通道上。事情是我不認爲它連接失敗,因爲如果我把Irc irc = new Irc("192.168.1.11", 6667)
(這不是服務器)它會引發異常,但是一個服務器不會。我希望如果有人可以幫助:)這是「Irc.cs」代碼(C#)TcpClient不連接到irc服務器(使用數字ip)
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();
}
PS:端口6667已打開。我可以使用mIRC連接到我的普通PC上的irc服務器(託管在虛擬機上) – Nick
只是瘋狂的猜測,但也許你發送連接命令太快了。我知道連接到IRC服務器需要一些時間。現在你不必等待任何迴應。除此之外,我建議關閉和處理流(例如使用) –
@RonDeijkers好吧,那麼如何通過讀取輸入流來檢查我是否得到響應 – Nick