IRC (互联网中继聊天)

13 篇文章 0 订阅
7 篇文章 0 订阅

详见百度百科:   http://baike.baidu.com/view/10525.htm


IRC是Internet Relay Chat 的英文缩写,中文一般称为互联网中继聊天。它是由芬兰人Jarkko Oikarinen于1988年首创的一种网络聊天协议。经过十年的发展,目前世界上有超过60个国家提供了IRC的服务。IRC的工作原理非常简单,您只要在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。它的特点是速度非常之快,聊天时几乎没有延迟的现象,并且只占用很小的 带宽资源。所有用户可以在一个被称为\"Channel\"(频道)的地方就某一话题进行交谈或密谈。每个IRC的使用者都有一个Nickname(昵称)。


中转

我们来做一个比较说明. 假设,A 与 B 要交谈. 如果不采用中转,那么 A 直接建立一条到达 B 的通信隧道,二者通过这条通信隧道进行信息交流,信息流的方向为: A->B 和 B->A; 如果采用中转,则需要有一个第三方来担任中转角色,设为 C,A 建立一条到达 C 的通信隧道,B 也建立一条到达C 的通信隧道,然后 A 与 B 通过 C 来间接进行通信,信息流的方向为:
A->;C->;B 和 B->;C->;A
C 就起着 A 与 B 间的中转站的作用. 中转有什么优点呢? 中转的最大优点是使"群聊"能够方便地进行. 恰当地说,中转模式为信息广播提供了方便. 我们来举例子. 假设 A,B 和 D 三者要一起聊天. 如果没有 C 的中转,那么 A 要将所说的每句话分别发给 B 和D; 如果有 C 做中转,那么 A 将所说的话发给 C,然后 C 将 A 的话分别发给 B 和 D. 可见,当没有中转时,每个参与聊天的计算机都要执行信息广播的任务,当存在中转时,信息广播的任务全由中转者来执行.中转站 C 的存在使得信息交流过程中的工作任务发生分离,可以把网络环境好、机器配置高的计算机作为中转站来提供服务功能. 这就形成了IRC 的服务器-客户端 模型,聊天者作为客户端,连接到中转站服务器上.


服务器网络

在上面的例子里,只有一个中转者 C 来承担服务. 当聊天者数量很多时,会使 C 不堪重负. 解决的办法是,使用多个服务器,服务器之间互相连接成网络,把聊天者分散到各个服务器上. 服务器网络以树型结构互相连通. 聊天者可以任选一个服务器连接. 举例来说,在 北京建立一个 IRC 服务器,称为 BJ,在 上海建立一个 IRC 服务器,称为 SH,然后将 BJ 和 SH 连接起来,组成一个只有两个服务器的 IRC 网络. 北京的用户连接到 BJ 上,上海的用户连接到 SH 上,这样北京的用户就可以与上海的用户聊天了. 其他地区的用户可以根据地理位置的远近选择使用BJ 或 SH 服务器. 概括地说,聊天网络上的每个服务器都是一个中转站,当它从一个服务器或客户收到一条消息时,就将该消息转发给其它服务器,同时也根据具体情况,决定是否将消息转发给连接到自己的用户.


频道

频道的本质是广播组. 用户可以进入一个频道,也可以离开一个频道. 当一个用户朝频道说话时,频道里的其他用户都能收到他的话(由服务器中转). 当第一个用户进入频道时,频道被创建,当最后一个用户离开频道时,频道被取消. 因此,从用户的角度看,频道就是聊天室. 下面说说频道之所以被称为"频道"的原因. 如果一个聊天网络有多个服务器,频道要由服务器共同维护. 举一个例子. 有三个服务器,连接方式为 A-B-C. 在 服务器A上,有第一个用户进入 #IRC 频道,这时,服务器A上即创建频道"#IRC",A 将频道 "IRC" 的创建消息发给 B 和 C. 由于 B 和 C 上都没有用户位于 #IRC 频道,因此不执行任何操作. 在这以后,服务器C上有 一个用户进入 #IRC 频道,此时服务器C上也创建频道 "#IRC",C 将"#IRC" 的创建消息发给 A 和 B. 之后,需要执行以下操作: B 上建立频道 "#IRC" 并将 A 与 C 的 "#IRC" 频道连接起来,组成一个统一的#IRC . 现在,虽然 B 上没有用户位于 #IRC 频道内,但是 B 上也开通了 #IRC 频道. 可见,频道好像一条通信管道,将所有开通此频道的服务器贯穿起来,信息流在这个管道中流通.


请求与应答

IRC上的信息交流采用请求与应答的模式. 请求是由服务器或客户端发出的,其目的是请求(另)一个服务器执行某个操作或提供某些信息; 应答是服务器对一个请求的回应信息. 请求通常被称为命令; 由于对每种应答都规定了一个三位数字做标识,应答也称为数字应答(numeric reply).

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值