社区
网络及通讯开发
帖子详情
谁能给说说IRC协议?
stayhere
2003-11-29 12:14:28
最近在网上找IRC协议的解析,但偶英文不好,有个客户端演示则是VC的,蒙蒙懂懂.
但自己写的就是连不上服务器,想请教哪位高手指点迷津:如何用C++builder写一个简单的IRC客户端?
...全文
518
7
打赏
收藏
谁能给说说IRC协议?
最近在网上找IRC协议的解析,但偶英文不好,有个客户端演示则是VC的,蒙蒙懂懂. 但自己写的就是连不上服务器,想请教哪位高手指点迷津:如何用C++builder写一个简单的IRC客户端?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iuIRCClient
2003-12-04
打赏
举报
回复
我对IRC协议非常熟悉,正在用bcb6写一个客户端,据我分析你的状态如下:
你连不上服务器?IRC连接服务器时是这样操作的,首先你通过socket与server建产连接,在onconnect成功时,这个时候,你必须遵照IRC的协议,主动向server发送下列必不可少的两条信息来注册你的这个连接:
1,NICK <nickname>
2,USER <username> <hostname> <servername> <realname>
如果这两条命令发送成功,服务器就接爱你的连接,服务器(并不是所有的)就会向你发送一条PING <ping串>消息,你在收到这个消息后,必须原封不动的将ping串内容做为PONG命令的参数再发回给服务器,表示你的连接是活动的。
然后,服务器就向你发送所有正常的消息,你只需要对所有的消息进行解析就可以了。
当然,要做一个IRC客户端,是需要吃透RFC1459协议的,工作最多的就是对各种不同的返回消息进行解析。
目前我的客户端已完成80%,但在写作的过程中,我有如下体会,到目前为止,我还不知道这是bcb6的缺陷还是bug:
1,服务器所有返回信息,应该都是以\r\n结尾的,就算是服务器将多条信息连在一起发送过来,也应该是以\r\n结束,我以前用vb和socket空件写IRC的时候,所有消息全是以\r\n结束的,这很好去分析。但在bcb的clientsocket空件里,它会自作聪明的对稍长一些的消息进行断行,分次发送过来,这样给消息的解析造成一些麻烦及难以处理的情况。
2,因为频道窗口,私聊窗口都需要动态创建,我的程序在运行一段时间(如10分钟)后,就可能会出一种EOutOfResource错误,并且,这种错误不能被try...catch捕捉到,这个问题至今没有解决,想了很多办法都没有解决掉。
这些希望对你的工程有所帮助。
warton
2003-12-03
打赏
举报
回复
我用的是indy9,在indy clients页有idirc控件
stayhere
2003-12-02
打赏
举报
回复
to pazee(耙子):
找不到IdIRCClient,只有IdIRCServer.难道我的和大家的不一样?我也是BCB6啊.
stayhere
2003-12-02
打赏
举报
回复
谢谢各位,这就找去....
耙子
2003-11-29
打赏
举报
回复
Indy 空间提供了一个简单的demo,使用了自带的控件。
叶子哟
2003-11-29
打赏
举报
回复
你上www.vckbase.com,www.vccode.com,www.codeguru.com上找找,一般的vc的多
warton
2003-11-29
打赏
举报
回复
觉得还是看英文好吧,rfc的文档还是比较好懂的。
早些年有不少IRC的应用,源代码也很多,找来参考一下吧!
Quake3 tools-开源
再来
说
说
"
irc
机器人",
IRC
(Internet Relay Chat)是一种实时聊天
协议
,常用于游戏社区的交流。Quake3工具中的
irc
机器人可能是一个能够自动响应命令、管理频道、甚至参与游戏内活动的程序。这种机器人可以增强社区...
IRC
1.
IRC
简介 2.
IRC
服务器3.
IRC
频道(图表)4.
IRC
客户端(图表)5.
IRC
上常用的缩写词(图表)6.
IRC
帮助7. 即时通讯软件及
协议
相关连接 1.
IRC
简介 ...
IRC
(互联网中继聊天)
...
IRC
是Internet Relay Chat 的英文...它是由芬兰人Jarkko Oikarinen于1988年首创的一种网络聊天
协议
。经过十年的发展,目前世界上有超过60个国家提供了
IRC
的服务。
IRC
的工作原理非常简单,您只要在自己的PC上运
Linux下如何聊天-
irc
,MSN,ICQ,QQ你会用了吗?
互联网深入人心好久了,目前用电脑如果
说
不能上网估计是让人觉得不可思议的事了。 上网做什么呢?浏览网页和聊天占了大家多半时间吧。真正
说
上网学习的时间估计不到五分之一吧。 Linux下浏览网页不是问题,系统...
面向移动设备开发的wap
协议
(一)
什么是WAP
协议
?WAP
协议
与Internet有什么区别?
说
到这里就要
说
说
各大通信企业很熟悉得WAP
协议
了,WAP
协议
(Wireless Application Protocol)无线应用
协议
是一个开放式标准
协议
.它使用WML标记式语言(类似于HTML)并...
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章