有人告诉我,IRC 使用 UDP 进行客户端与服务器之间的通信,使用 TCP 进行服务器与服务器之间的通信(在链接服务器的情况下)。看来 TCP 是文本聊天的更好的传输层协议,因为您需要确保文本到达服务器。仅仅因为客户端显示文本在频道中/服务器上,并不意味着服务器实际上收到了它。
很明显IRC 使用 UDP。UDP 是否用于将文本消息从客户端传递到服务器?
答案1
IRC 使用 TCP 进行客户端-服务器通信。
亲自尝试一下:telnet irc.freenode.net 6667
将在您和 IRC 服务器之间建立 TCP 连接。
您链接到的维基百科页面还将 TCP 端口范围 6665–6669 列为 IRC。
答案2
正如 kenny.r 所指出的,IRC 使用 TCP。根据该页面,HTTP 也使用 UDP。许多其他服务也被列为同时使用 UDP 和 TCP 端口,尽管它们实际上只使用其中一种。
我相信这些港口只是预订的对于两种协议,以避免因另一个服务在另一个协议上具有相同端口而发生混淆;在 UDP 端口 80 上运行某些东西可能会造成混淆。
同时,其他服务仅列出“正确”的协议;例如,该列表中的 HTTPS、SMTP 和 POP3 都仅列出 TCP。不过,没有哪个服务在 UDP 上使用相同的端口号。