跳转到内容

互联网技术/IRC

来自维基教科书,开放的书籍,开放的世界
(从 IRC 重定向)

互联网中继聊天,通常缩写为IRC,是一种聊天协议,一种允许多人通过输入文本消息相互交谈的方式,每个参与者都看到其他参与者所写的内容,就像他们在电话会议中一样。

IRC 技术

[编辑 | 编辑源代码]

正式地,IRC 是一种实时基于文本的多用户通信协议规范和实现,它中继网络上用户之间的消息。根据 Efnet.org,IRC 诞生于 1988 年。根据 IRChelp.org,IRC 的官方规范是在 1993 年以 RFC 格式编写的。规范 "RFC 1459: 互联网中继聊天协议" 是对 IRC 协议进行介绍和详细了解的绝佳来源。如今,IRC 拥有非常广泛的用户,任何人都可以在 IRC 中找到参与聊天的场所。

IRC 架构中最大的单元是IRC 网络。世界上可能有数百个 IRC 网络,每个网络都独立运行,互不干扰。登录到一个网络的客户端只能与同一网络上的其他客户端通信,而不能与其他网络上的客户端通信。每个网络都包含一个或多个IRC 服务器。IRC 客户端是一个连接到给定 IRC 服务器的程序,以便服务器中继来自同一网络上其他客户端的通信,但不一定是同一服务器。

IRC 上的消息以块的形式发送。也就是说,其他 IRC 客户端不会看到你输入和编辑消息的过程。你创建一条消息块(通常只是一句话)并立即传输该块,该块会被服务器接收,并根据寻址,将其传递到相应的客户端,或中继到其他服务器,以便继续传递或中继,等等。

连接到服务器后,通过IRC 昵称来寻址其他客户端。昵称只是一个唯一的 ASCII 字符串,用于识别特定的客户端。虽然实现方式各不相同,但对昵称的限制通常规定它们只能由 a-z、A-Z、0-9、下划线和连字符组成。

IRC 上的另一种寻址方式,也是其最具代表性的特征之一,是IRC 频道。IRC 频道通常被比作 CB 无线电(公民频段无线电)频道。在 CB 上,人们说自己正在“收听”某个频道,而在 IRC 上,人们说自己的客户端正在“加入”某个频道。发送到该频道的所有通信都会被客户端“听到”或看到。另一方面,同一网络上甚至同一服务器上的其他客户端,如果没有在同一个频道,将不会看到发送到该频道的任何消息。

虽然 IRC 本身不是一种 P2P 协议,但 IRC 确实有一些扩展支持直接从客户端到客户端传输文本和文件,而无需任何中继。这些扩展被称为 DCC(直接客户端连接)和 CTCP(客户端到客户端协议)。对于 CTCP,像 mIRC 这样的客户端实现了一些命令,比如 "ctcp 昵称 版本" 或 "ctcp 昵称 ping",以获得有关其他用户的有趣信息。

使用互联网中继聊天

[编辑 | 编辑源代码]

要使用互联网中继聊天,你需要执行以下操作

  1. 选择并安装 IRC 客户端。
  2. 找到讨论你感兴趣主题的频道(类似于其他聊天环境中的房间)。
  3. 找到该频道所在的服务器。你可以通过项目网站(例如维基教科书)获得服务器和频道的地址。
  4. 使用客户端连接到服务器,使用你选择的昵称。
  5. 连接到频道(房间)。


Clipboard

要做到
提供更多关于如何选择昵称以及注册昵称的使用和限制的信息。


注册你的昵称

[编辑 | 编辑源代码]

一些 IRC 网络提供通过服务机器人注册你的昵称。这有时可以让你访问对未注册用户屏蔽的频道,并且在大多数情况下可以保留你的昵称,这样其他人就无法使用它(至少它会将你标记为已登录用户,而任何其他使用它的用户都将被标记为未登录)。

提供此服务的机器人通常称为 "NickServ",有时也称为 "AuthServ",或者在大型网络上简称为 "Q"。当你找到其中一个机器人时,你可以通过输入以下命令获取更多信息

/msg [BOTNAME] help

这应该会给你关于如何使用该服务的详细说明。

网络示例操作指南

[编辑 | 编辑源代码]

这个过程很简单,一旦你选择了一个想要注册的昵称(假设它还没有被任何人拥有)并选择了一个密码,请按照以下步骤操作

  • 如果你还没有这样做,请将你的昵称更改为你想要注册的昵称
/nick [NICKNAME]

例如

/nick JohnDoe
  • 向网络的 nickserv 服务发送一条包含你选择的密码和电子邮件地址的私信,使用以下命令
/msg nickserv register [PASSWORD] [EMAIL]

例如

/msg nickserv register 1234abcd [email protected]
  • 向 nickserv 发送消息后,你应该很快收到回复,说明它已收到你的注册请求,并已向你提供的地址发送了一封电子邮件。
An email containing nickname activation instructions has been sent to [email protected]
  • 要完成注册过程,你需要使用发送到你邮箱的注册码向 nickserv 发送消息。
/msg NickServ VERIFY REGISTER JohnDoe p4huc5gqunnc
  • 正确输入注册码后,nickserv 应该会回复你,说明昵称注册过程已成功完成。
JohnDoe has now been verified.

你现在应该以你的昵称“登录”。如果你断开与服务器的连接,要重新登录你的昵称,你需要向 nickserv 发送你的密码

/msg nickserv identify [PASSWORD]

例如

/msg nickserv identify 1234abcd

完成操作后,它应该回复你,说你已成功登录。

You are now identified for JohnDoe

私人对话和聊天

[编辑 | 编辑源代码]

默认情况下,使用 IRC 的对话是公开的,频道中的所有用户都可以看到。

要与频道中的用户进行私人对话,请输入 "/query 昵称"。

要进行私人聊天,加入一个不存在的频道,然后使用命令 "/mode +i" 允许仅通过邀请加入。分步操作

  1. /join #mynewchannel
  2. /mode +i
  3. /invite someotherguy

IRC 客户端

[编辑 | 编辑源代码]

要使用 IRC,你需要一个 IRC 客户端——一个允许你连接到 IRC 服务器并进入 IRC 频道的程序。有很多种 IRC 客户端

一些 IRC 客户端
IRC 客户端 描述 操作系统限制 注意
ChatZilla Firefox 的插件。
IRSSI 具有纯文本用户界面。
mIRC Windows 适合初学者。
XChat (XChat-WDK for Windows)
Smuxi GNOME 的用户友好型客户端。 Linux 和 Windows
Colloquy 仅适用于 Mac OS X。
Pidgin 多协议客户端。 支持的聊天协议比 IRC 更多。
Miranda 多协议客户端。
Trillian 多协议客户端。
Opera 一个集成了 IRC 客户端的网页浏览器。
BitchX

IRC 命令

[编辑 | 编辑源代码]

以下是对 IRC 协议中一些基本命令的概述。所有命令都已在前面加了斜杠“/”,因为在大多数客户端中,这表示将执行以下 IRC 命令。在一些 IRC 客户端中,包括 ChatZilla 和 Pidgin,你不需要知道这些命令:你通过图形用户界面告诉客户端你想要做什么,然后客户端会为你发送必要的命令。

基本命令

[编辑 | 编辑源代码]

以下部分列出了一些 IRC 的基本命令。请注意,并非所有命令在所有客户端中都可用,因为其中一些命令是客户端发明的,目的是使你的生活更轻松,而不是 IRC 协议本身的一部分。

命令 功能 示例
/attach

/server

/connect

登录到服务器 /attach irc.freenode.net

/server irc.freenode.net

/connect irc.freenode.net

/nick 设置你的昵称 /nick YourName
/join 加入频道 /join #wikibooks
/msg 发送消息(可以是私聊或发到整个频道) 给频道发送消息:/msg #wikibooks hello world!

发送私聊消息:/msg JohnDoe Hi john.

/whois 显示服务器上用户的相关信息 /whois JohnDoe
/clear

/clearall

清空一个频道的文本。

清空所有打开频道的文本。

/clear

/clearall

/away 设置离开消息。要从“离开”状态返回,请键入/away或发送消息。 /away 我离开了,因为...
/me 向频道发送一个动作。见示例。 以下

/me loves pie.

将在 JohnDoe 的情况下输出到聊天中

JohnDoe loves pie.

/topic 查询或设置讨论主题。 /topic 使用 IRC

特权用户命令

[编辑 | 编辑源代码]

半操作员、频道操作员、频道所有者和管理员的命令

命令 功能 示例
/kick 踢出或将用户从频道中踢出。你必须是半操作员或以上级别才能执行此操作。 以原因将用户从频道中踢出:/kick #channel JohnDoe I kicked you because...
/ban

/unban

禁止用户进入频道。你必须是频道操作员或以上级别才能执行此操作。

解除对用户的频道禁令。你必须是频道操作员或以上级别才能执行此操作。

/ban JohnDoe

/unban JohnDoe

华夏公益教科书