Delphi 为什么赢了';t TIdIRC连接到通道?有更好的组件吗?
我一直在与谷歌的垃圾文档作斗争,无法让程序加入频道,即使它与服务器连接良好。(表示已连接到服务器) 一旦我关闭表单,就会出现一个错误,显示:Delphi 为什么赢了';t TIdIRC连接到通道?有更好的组件吗?,delphi,client,irc,indy,channel,Delphi,Client,Irc,Indy,Channel,我一直在与谷歌的垃圾文档作斗争,无法让程序加入频道,即使它与服务器连接良好。(表示已连接到服务器) 一旦我关闭表单,就会出现一个错误,显示: Project raised exception class EIdException with message 'Not Connected' 此外,一旦连接,我使用什么功能在通道上通话/检查输入? Delphi应用程序还有哪些其他IRC连接选项(组件) 任何帮助都将不胜感激,谷歌在这方面真的什么都没有。 我只想能够连接/查看频道聊天信息并在聊天室中聊
Project raised exception class EIdException with message 'Not Connected'
此外,一旦连接,我使用什么功能在通道上通话/检查输入?
Delphi应用程序还有哪些其他IRC连接选项(组件)
任何帮助都将不胜感激,谷歌在这方面真的什么都没有。
我只想能够连接/查看频道聊天信息并在聊天室中聊天;通过IRC的简单字符串IO…猜测您没有满足所有服务器要求。只是IdIrc.Connect不够,这对我来说很有用:
FIRC.Host:= 'irc.freenode.org';
FIRC.Port := 6667;
FIRC.Username:= 'SapoIndy';
FIRC.Nickname:= 'SapoIndy';
FIRC.RealName:= 'Fabio Gomes';
FIRC.Connect;
FIRC.Join('#TheChannel');
为了弄清楚发生了什么,您需要获得一些事件的输出,我已经实现了这些:
FIRC.OnStatus:= @Status;
FIRC.OnNotice:= @Notice;
FIRC.OnMOTD:= @MOTD;
启动一些事件,您应该了解服务器在告诉您什么,不要进行反复试验
关于发送和接收消息,我不久前已经实现了其中的一些,这是一个项目,它是使用Lazarus制作的
不要在OnConnected
事件中调用Join()
。该事件仅仅意味着建立了底层套接字连接Connect()
仍在运行,并且在触发OnConnected
事件时尚未实际登录到IRC服务器。在发出任何命令之前,请等待Connect()
退出:
procedure TForm2.FormCreate(Sender: TObject);
begin
IdIRC1.Connect;
ShowMessage('Connected to server');
IdIRC1.Join('#TheChannel', 'password');
end;
在有人问你一些细节或张贴答案之前;你可以提供的参考资料。
procedure TForm2.FormCreate(Sender: TObject);
begin
IdIRC1.Connect;
ShowMessage('Connected to server');
IdIRC1.Join('#TheChannel', 'password');
end;